本公開涉及層間視頻編碼方法和解碼方法,更具體地,涉及針對層間圖像之間的光照補償來推導光照補償參數(shù)的方法。
背景技術(shù):
隨著開發(fā)和供應用于播放和存儲高分辨率或高質(zhì)量視頻內(nèi)容的硬件,針對用于將高分辨率或高質(zhì)量視頻內(nèi)容高效編碼或解碼的視頻編解碼器的需求逐漸增長。根據(jù)傳統(tǒng)的視頻編解碼器,基于具有預定尺寸的宏塊來根據(jù)有限編碼方法對視頻進行編碼。
經(jīng)由頻率轉(zhuǎn)換將空間域的圖像數(shù)據(jù)轉(zhuǎn)換成頻域的系數(shù)。根據(jù)視頻編解碼器,將圖像分割成具有預定尺寸的塊,在每個塊上執(zhí)行離散余弦變換(DCT),并且以塊為單位對頻率系數(shù)進行編碼,從而快速計算頻率轉(zhuǎn)換。與空間域的圖像數(shù)據(jù)相比,頻域的系數(shù)容易壓縮。具體而言,由于根據(jù)視頻編解碼器的幀間預測或幀內(nèi)預測的預測誤差來表達空間域的圖像像素值,因此,當在預測誤差上執(zhí)行頻率轉(zhuǎn)換時,可將大量的數(shù)據(jù)轉(zhuǎn)換成0。根據(jù)視頻編解碼器,可通過用小尺寸的數(shù)據(jù)替換連續(xù)重復生成的數(shù)據(jù)來減少數(shù)據(jù)量。
多層視頻編解碼器對第一層視頻和至少一個第二層視頻進行編碼和解碼。通過去除第一層視頻和第二層視頻的時間/空間冗余和層冗余,可減少第一層視頻和第二層視頻的數(shù)據(jù)量。
技術(shù)實現(xiàn)要素:
技術(shù)問題
用于推導光照補償參數(shù)的第一層相鄰樣本位置可能位于多層圖像的第一層圖像的邊界外部。
技術(shù)方案
提供層間視頻編碼方法及其設(shè)備,以及層間視頻解碼方法,層間視頻解碼方法能夠在用來推導光照補償參數(shù)的第一層相鄰樣本位置位于第一層圖像的邊界外部時通過使用多層圖像的第一層圖像的邊界的樣本值來提高編碼效率。
根據(jù)實施方式的一方面,層間視頻解碼方法包括:對第一層圖像進行解碼;確定第一層圖像中的、與第二層當前塊的位置對應的參考位置;當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值;以及基于相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。
本公開的技術(shù)問題不限于上述特征,并且本領(lǐng)域普通技術(shù)人員將通過下文描述清楚地理解其他未陳述的技術(shù)問題。
附圖說明
圖1A是根據(jù)各種實施方式的層間視頻編碼設(shè)備的框圖。
圖1B是根據(jù)各種實施方式的層間視頻編碼方法的流程圖。
圖2A是根據(jù)各種實施方式的層間視頻解碼設(shè)備的框圖。
圖2B是根據(jù)各種實施方式的層間視頻解碼方法的流程圖。
圖3示出根據(jù)實施方式的層間預測結(jié)構(gòu)。
圖4示出根據(jù)實施方式的確定光照補償參數(shù)的方法的示例。
圖5A和圖5B示出根據(jù)各種實施方式的確定第一層圖像的相鄰樣本位置的過程的示例。
圖6A到圖6C示出根據(jù)各種實施方式的確定參考位置以確定第一層相鄰樣本值的方法的示例。
圖7A到圖7C示出根據(jù)各種實施方式的確定參考位置以確定第一層相鄰樣本值的方法的示例。
圖8是根據(jù)實施方式的基于根據(jù)樹形結(jié)構(gòu)的編碼單元的視頻編碼設(shè)備的框圖。
圖9是根據(jù)實施方式的基于根據(jù)樹形結(jié)構(gòu)的編碼單元的視頻解碼設(shè)備的框圖。
圖10是用于描述根據(jù)本公開的實施方式的編碼單元的概念的示意圖。
圖11是根據(jù)本公開的實施方式的基于編碼單元的圖像編碼器的框圖。
圖12是根據(jù)本公開的實施方式的基于編碼單元的圖像解碼器的框圖。
圖13是示出根據(jù)本公開的實施方式的編碼單元和分區(qū)的示意圖。
圖14是用于描述根據(jù)本公開的實施方式的編碼單元與變換單元之間的關(guān)系的示意圖。
圖15是示出根據(jù)本公開的實施方式的多項編碼信息的示意圖。
圖16是示出根據(jù)本公開的實施方式的編碼單元的示意圖。
圖17、圖18和圖19是用于描述根據(jù)本公開的實施方式的編碼單元、預測單元與變換單元之間的關(guān)系的示意圖。
圖20是用于描述根據(jù)表1的編碼模式信息的編碼單元、預測單元與變換單元之間的關(guān)系的示意圖。
圖21是根據(jù)實施方式的存儲有程序的盤片的物理結(jié)構(gòu)的示意圖。
圖22是用于通過使用盤片來記錄和讀取程序的盤片驅(qū)動器的示意圖。
圖23是用于提供內(nèi)容分發(fā)服務(wù)的內(nèi)容供應系統(tǒng)的整體結(jié)構(gòu)的示意圖。
圖24和圖25分別是根據(jù)實施方式的應用本公開的視頻編碼方法和視頻解碼方法的移動電話的外部結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)的示意圖。
圖26是應用根據(jù)本公開的通信系統(tǒng)的數(shù)字廣播系統(tǒng)的示意圖。
圖27是示出根據(jù)本公開的使用視頻編碼設(shè)備和視頻解碼設(shè)備的云計算系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)的示意圖。
實施本發(fā)明的最佳方式
根據(jù)實施方式的一方面,層間視頻解碼方法包括:對第一層圖像進行解碼;確定第一層圖像中的、與第二層當前塊的位置對應的參考位置;當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值;以及基于相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。
確定相鄰樣本值可包括:基于第一層圖像的邊界來裁剪參考位置的相鄰樣本位置。
確定相鄰樣本值可包括:當相鄰樣本位置位于第一層圖像的左邊界或右邊界外部時,通過使用第一層圖像的左邊界或右邊界的樣本值來確定相鄰樣本值;以及當相鄰樣本位置位于第一層圖像的頂部邊界或底部邊界外部時,通過使用第一層圖像的頂部邊界或底部邊界的樣本值來確定相鄰樣本值。
該方法還可包括:通過使用所確定的光照補償參數(shù)來補償?shù)诙赢斍皦K的光照值。
確定第一層圖像的參考位置可包括:獲取視差矢量,視差矢量表示與第二層當前塊對應的第一層參考塊;以及通過視差矢量來確定第一層圖像中的、與第二層當前塊的位置對應的參考位置。
確定第一層圖像的參考位置可包括:基于與視差矢量所表示的第一層的位置相鄰的整數(shù)像素位置來確定參考位置。
當視差矢量表示子像素位置時,第一層圖像的子像素位置可被確定為參考位置,并且相鄰樣本位置可基于所確定的參考位置而確定。
光照補償參數(shù)可包括比例因子和偏移中的至少一個。
根據(jù)另一實施方式的一方面,層間視頻解碼設(shè)備包括:第一層解碼器,其被配置成重建第一層圖像;以及第二層解碼器,其被配置成通過使用重建的第一層圖像來重建第二層圖像,其中,第二層解碼器包括:相鄰樣本確定器,該相鄰樣本確定器被配置成確定第一層圖像中的、與第二層當前塊的位置對應的參考位置,并且當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值;以及光照補償參數(shù)確定器,該光照補償參數(shù)確定器被配置成基于相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。
根據(jù)另一實施方式的一方面,層間視頻編碼方法包括:對第一層圖像進行編碼;確定第一層圖像中的、與第二層當前塊的位置對應的參考位置;當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值;以及基于相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。
確定相鄰樣本值可包括:基于第一層圖像的邊界來裁剪參考位置的相鄰樣本位置。
確定相鄰樣本值可包括:當相鄰樣本位置位于第一層圖像的左邊界或右邊界外部時,通過使用第一層圖像的左邊界或右邊界的樣本值來確定相鄰樣本值;以及當相鄰樣本位置位于第一層圖像的頂部邊界或底部邊界外部時,通過使用第一層圖像的頂部邊界或底部邊界的樣本值來確定相鄰樣本值。
該方法還可包括:通過使用所確定的光照補償參數(shù)來補償?shù)诙赢斍皦K的光照值。
確定第一層圖像的參考位置可包括:獲取視差矢量,視差矢量表示與第二層當前塊對應的第一層參考塊;以及通過使用視差矢量來確定第一層圖像中的、與第二層當前塊的位置對應的參考位置。
確定第一層圖像的參考位置可包括基于與視差矢量所表示的第一層的位置相鄰的整數(shù)像素位置來確定參考位置。
當視差矢量表示子像素位置時,第一層圖像的子像素位置可被確定為參考位置,并且相鄰樣本位置可基于所確定的參考位置而確定。
光照補償參數(shù)可包括比例因子和偏移中的至少一個。
根據(jù)另一實施方式的一方面,層間視頻編碼設(shè)備包括:第一層編碼器,其被配置成對第一層圖像進行編碼;以及第二層編碼器,其被配置成通過使用第一層圖像對第二層圖像進行編碼,其中,第二層編碼器包括:相鄰樣本確定器,該相鄰樣本確定器被配置成確定第一層圖像中的、與第二層當前塊的位置對應的參考位置,以及當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值;以及光照補償參數(shù)確定器,該光照補償參數(shù)確定器被配置成基于相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。
具體實施方式
下文將參考圖1A到圖7C描述根據(jù)各種實施方式的用于基于塊特性來確定是否執(zhí)行光照補償?shù)膶娱g視頻編碼技術(shù)和層間視頻解碼技術(shù)。此外,將參考圖8到圖20描述根據(jù)適用于層間視頻編碼和解碼技術(shù)的實施方式的基于具有樹形結(jié)構(gòu)的編碼單元的視頻編碼技術(shù)和視頻解碼技術(shù)。此外,將參考圖21到圖27描述適用于視頻編碼方法和視頻解碼方法的各種實施方式。
在下文中,“圖像”可指的是靜態(tài)圖像或視頻的移動圖像,或者視頻本身。
在下文中,“樣本”指的是分配到圖像的采樣位置并且將進行處理的數(shù)據(jù)。例如,空間域中的圖像的像素值或塊的殘余可以是樣本。
首先,將參考圖1A到圖7C描述根據(jù)實施方式的層間視頻編碼設(shè)備、層間視頻編碼方法、層間視頻解碼設(shè)備和層間視頻解碼方法。
圖1A是根據(jù)各種實施方式的層間視頻編碼設(shè)備10的框圖。
根據(jù)各種實施方式的層間視頻編碼設(shè)備10包括第一層編碼器12和第二層編碼器14。第二層編碼器14可包括相鄰樣本確定器16和光照補償參數(shù)確定器18?;蛘?,第二層編碼器14還可包括用于確定是否在第二層當前塊上執(zhí)行光照補償?shù)墓庹昭a償確定器(未示出)。
根據(jù)另一實施方式的相鄰樣本確定器16和光照補償參數(shù)確定器18可位于第二層編碼器14的外部。
根據(jù)各種實施方式的層間視頻編碼設(shè)備10可根據(jù)層而將多個圖像序列分類,可根據(jù)可伸縮視頻編碼方案對圖像序列中的每個進行編碼,并且可輸出包括根據(jù)層進行編碼的數(shù)據(jù)的不同的流。層間視頻編碼設(shè)備10可將第一層圖像序列和第二層圖像序列編碼到不同的層中。
第一層編碼器12可對第一層圖像進行編碼,并且輸出包括第一層圖像的編碼數(shù)據(jù)的第一層流。
第二層編碼器14可對第二層圖像進行編碼,并且輸出包括第二層圖像的編碼數(shù)據(jù)的第二層流。
例如,根據(jù)基于空間可伸縮性的可伸縮視頻編碼方案,低分辨率圖像可編碼為第一層圖像,而高分辨率圖像可編碼為第二層圖像。第一層圖像的編碼結(jié)果可輸出為第一層流,而第二層圖像的編碼結(jié)果可輸出為第二層流。
作為另一示例,多視點視頻可根據(jù)可伸縮視頻編碼方案進行編碼。左視點圖像可被編碼為第一層圖像,而右視點圖像可被編碼為第二層圖像。或者,中部視點圖像、左視點圖像和右視點圖像可均被編碼,其中:中部視點圖像被編碼為第一層圖像、左視點圖像被編碼為第二層圖像,并且右視點圖像被編碼為第三層圖像?;蛘?,中部視點紋理圖像、中部視點深度圖像、左視點紋理圖像、左視點深度圖像、右視點紋理圖像和右視點深度圖像可分別被編碼為第一層圖像、第二層圖像、第三層圖像、第四層圖像、第五層圖像和第六層圖像。作為另一示例,中部視點紋理圖像、中部視點深度圖像、左視點深度圖像、左視點紋理圖像、右視點深度圖像和右視點紋理圖像可分別被編碼為第一層圖像、第二層圖像、第三層圖像、第四層圖像、第五層圖像和第六層圖像。
作為另一示例,可根據(jù)基于時間可伸縮性的時間分層預測來執(zhí)行可伸縮視頻編碼方法。可輸出第一層流,所述第一層流包括通過對基本幀率圖像進行編碼而生成的編碼信息。時間層次可根據(jù)幀率進行分類,并且每個時間層次可根據(jù)層進行編碼。通過參考基本幀率圖像來對較高幀率圖像進一步編碼,可輸出第二層流,所述第二層流包括高幀率的編碼信息。
或者,可在第一層和多個延伸層(例如,第二層、第三層、……,以及第K層)上執(zhí)行可伸縮視頻編碼。當延伸層的數(shù)量是三或更多時,第一層圖像以及第二到第K層圖像可被編碼。因此,第一層圖像的編碼結(jié)果可輸出為第一層流,并且第二到第K層圖像的編碼結(jié)果可分別輸出為第二到第K層流。
根據(jù)各種實施方式的層間視頻編碼設(shè)備10可執(zhí)行幀間預測,以參考單個層的圖像來預測當前圖像。通過幀間預測,可生成表明當前圖像與參考圖像之間的運動信息的運動矢量,以及當前圖像與參考圖像之間的殘余。
此外,層間視頻編碼設(shè)備10可執(zhí)行層間預測,以參考第一層圖像來預測第二層圖像。
或者,當根據(jù)實施方式的層間視頻編碼設(shè)備10允許三個或更多層(例如,第一層、第二層和第三層)時,層間視頻編碼設(shè)備10可基于多層預測結(jié)構(gòu)來執(zhí)行第一層圖像與第三層圖像之間的層間預測,以及第二層圖像與第三層圖像之間的層間預測。
通過執(zhí)行層間預測,可生成當前圖像與不同層的參考圖像之間的位移分量,以及當前圖像與不同層的參考圖像之間的殘余分量。
下文將參考圖3描述層間預測結(jié)構(gòu)。
根據(jù)各種實施方式的層間視頻編碼設(shè)備10可根據(jù)層而執(zhí)行基于視頻的每個圖像的塊的編碼。塊可具有正方形形狀、矩形形狀或任意幾何形狀,并且不限于具有預定尺寸的數(shù)據(jù)單元。所述塊可以是根據(jù)樹形結(jié)構(gòu)的編碼單元之中的最大編碼單元、編碼單元、預測單元或變換單元。包括樹形結(jié)構(gòu)的編碼單元的最大編碼單元可有不同的稱謂,諸如,編碼樹單元、編碼塊樹、塊樹、根塊樹、編碼樹、編碼根或樹干。下文將參考圖8到圖20描述基于根據(jù)樹形結(jié)構(gòu)的編碼單元的視頻編碼和解碼方法。
幀間預測和層間預測可基于數(shù)據(jù)單元(諸如,編碼單元、預測單元或變換單元)執(zhí)行。
根據(jù)各種實施方式的第一層編碼器12可通過在第一層圖像上執(zhí)行包括幀間預測或幀內(nèi)預測的源編碼操作來生成符號數(shù)據(jù)。符號數(shù)據(jù)表示每個編碼參數(shù)的樣本值和殘余的樣本值。
例如,第一層編碼器12可通過在第一層圖像的數(shù)據(jù)單元的樣本上執(zhí)行幀間或幀內(nèi)預測、變換和量化來生成符號數(shù)據(jù),并且可通過在符號數(shù)據(jù)上執(zhí)行熵編碼來生成第一層流。
第二層編碼器14可基于樹形結(jié)構(gòu)的編碼單元對第二層圖像進行編碼。第二層編碼器14可通過在第二層圖像的編碼單元的樣本上執(zhí)行幀間/幀內(nèi)預測、變換和量化來生成符號數(shù)據(jù),并且可通過在符號數(shù)據(jù)上執(zhí)行熵編碼來生成第二層流。
根據(jù)各種實施方式的第二層編碼器14可執(zhí)行層間預測,以通過使用第一層圖像的重建樣本來預測第二層圖像。為了基于層間預測結(jié)構(gòu)對第二層圖像序列的原始第二層圖像進行編碼,第二層編碼器14可通過使用重建的第一層圖像來生成預測的第二層圖像,并且對原始第二層圖像與預測的第二層圖像之間的預測誤差進行編碼。
第二層編碼器14可按照塊(例如,按照編碼單元或預測單元)在第二層圖像上執(zhí)行層間預測??纱_定將由第二層圖像的塊參考的所重建的第一層圖像的塊。例如,可確定位于與第二層圖像的當前塊的位置對應的位置的第一層圖像的參考塊。第二層編碼器14可通過使用與第二層塊對應的第一層參考塊來確定第二層預測塊。
第二層編碼器14可使用根據(jù)層間預測結(jié)構(gòu)通過使用第一層參考塊而確定的第二層預測塊作為參考圖像,以相對于第二層原始塊進行層間預測。第二層編碼器14可通過使用重建的第一層圖像對第二層預測塊的樣本值與第二層原始塊的樣本值之間的誤差(即,根據(jù)層間預測的殘余分量)進行變換和量化來執(zhí)行熵編碼。
如上文所述,第二層編碼器14可參考基于層間預測結(jié)構(gòu)重建的第一層圖像來對當前層圖像序列進行編碼。或者,根據(jù)各種實施方式的第二層編碼器14可基于單個層預測結(jié)構(gòu)對第二層圖像序列進行編碼,而不參考另一層的樣本。因此,應注意,第二層編碼器14并不始終執(zhí)行層間預測來對第二層圖像序列進行編碼。
如上文所述,當層間視頻編碼設(shè)備10對多視點視頻進行編碼時,第一層編碼器12可對第一視點視頻進行編碼,并且第二層編碼器14可對第二視點視頻進行編碼。不同視點視頻可通過使用不同的相機或不同的鏡頭來獲取。由于不同視點可具有拍攝角度、照明度或成像裝置(例如,相機或鏡頭)的不同特性,因此,以不同視點獲取的視頻之間可出現(xiàn)光照不匹配。這種光照不匹配現(xiàn)象可能與不同視點視頻之間的樣本值的差異相關(guān)。
當不同視點視頻之間出現(xiàn)光照不匹配時,層間預測誤差可能增加,因此,編碼效率可能降低。因此,考慮到視點之間的光照不匹配,層間視頻編碼設(shè)備10的第二層編碼器14可對不同視點視頻之間的光照差進行補償和編碼。例如,可對將由第一層編碼器12編碼的第一視點圖像與將由第二層編碼器14編碼的第二視點圖像之間的光照差進行編碼。由于第一視點圖像與第二視點圖像之間的光照差被編碼,因此,當?shù)诙泳幋a器14對第二視點視頻進行編碼時,可執(zhí)行光照補償。
層間視頻編碼設(shè)備10可根據(jù)每個預先確定的數(shù)據(jù)單元(諸如,當前圖像的截片或塊)的特性(例如,當前塊的分區(qū)類型信息)來確定是否執(zhí)行光照補償。層間視頻編碼設(shè)備10可生成包括表明是否執(zhí)行光照補償?shù)膮?shù)的第二層比特流。
根據(jù)各種實施方式,光照補償參數(shù)可用于第一層塊與第二層塊之間的光照補償。例如,光照補償參數(shù)可包括比例因子和偏移中的至少一個。
用于塊單元之間的光照補償?shù)摹ū壤蜃雍推频墓庹昭a償參數(shù)可以以比特流的形式傳輸,或者通過使用第二層當前塊的相鄰樣本值和與當前塊對應的第一層參考塊的相鄰樣本值來推導所述光照補償參數(shù)。
具體而言,第二層編碼器14的相鄰樣本確定器16可確定第一層圖像的參考位置,并且基于參考位置來確定第一層參考塊的相鄰樣本值。表示層之間的視點差異的視差矢量可用來確定與第二層當前塊對應的第一層參考塊。視差矢量可以以比特流的形式傳輸或者由其他類型的編碼信息推導出。
視差矢量可表示與第二層當前塊的位置對應的第一層圖像的參考位置。第二層當前塊的位置可以是作為基礎(chǔ)位置的當前塊的左上角樣本的位置。第一層圖像的參考位置可以是第一層參考塊的左上角樣本的位置。
相鄰樣本確定器16可基于參考位置來確定相鄰樣本位置。例如,相鄰樣本位置可包括與第一層參考塊相鄰的頂部樣本位置和左側(cè)樣本位置,并且基于參考位置確定。相鄰樣本位置是用于確定用來推導光照補償參數(shù)的相鄰樣本值的位置,并且可以是與參考位置間隔開預定偏移的位置。
第二層編碼器14的光照補償參數(shù)確定器18可基于相鄰樣本位置是否有效來確定相鄰樣本值,并且基于所確定的相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。相鄰樣本位置有效這一事實可意味著相鄰樣本位置設(shè)在第一層圖像內(nèi)。下文將參考圖4詳細描述確定光照補償參數(shù)的方法。
在這種情況下,當參考塊的相鄰樣本位置位于第一層圖像的邊界外部時,可不存在參考塊的相鄰樣本值。因此,編碼效率可能降低。此外,用于編碼的計算量可能增加,以確定相鄰樣本位置是否有效。
因此,當基于第一層參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,根據(jù)各種實施方式的層間視頻編碼設(shè)備10可基于第一層圖像的邊界位置來改變相鄰樣本位置,并且通過使用第一層圖像的邊界的樣本值來確定第二層當前塊的光照補償參數(shù)。
通過使用第一層圖像的邊界的樣本值,層間視頻編碼設(shè)備10不需要檢查相鄰樣本值的有效性,并且可獲取更準確的樣本值,從而提高編碼效率。例如,層間視頻編碼設(shè)備10可不檢查第一層的相鄰樣本值的有效性,并且可基于第二層當前塊的相鄰樣本值是否有效來執(zhí)行光照補償。
現(xiàn)在將參考圖1B詳細描述用于確定光照補償參數(shù)的層間視頻編碼設(shè)備10的操作。
圖1B是根據(jù)各種實施方式的層間視頻編碼方法的流程圖。
在操作11中,層間視頻編碼設(shè)備10可對第一層圖像進行編碼,并且輸出包括編碼數(shù)據(jù)的第一層比特流。
在操作13中,層間視頻編碼設(shè)備10可確定第一層圖像中的、與第二層當前塊的位置對應的參考位置。
層間視頻編碼設(shè)備10可獲取并使用表示第一層參考塊的第二層當前塊的視差矢量。視差矢量可由當前塊的相鄰塊推導出?;蛘撸暡钍噶靠捎膳c之對應的深度圖塊推導出。或者,可從比特流中獲取視差矢量。
層間視頻編碼設(shè)備10可通過使用視差矢量來確定第一層圖像中的、與第二層當前塊的位置對應的參考位置。第一層圖像的參考位置可以是與第二層當前塊對應的第一層參考塊的左上角樣本的位置。
由于視差矢量可具有分數(shù)像素精度,例如,四分之一像素或半像素精度,因此,由第二層當前塊的視差矢量表示的第一層圖像的位置可以是子像素位置。子像素位置可以是不同于整數(shù)像素位置的像素位置。
當視差矢量表示子像素位置時,層間視頻編碼設(shè)備10可將與子像素位置相鄰的整數(shù)像素位置確定為參考位置,以降低計算復雜性?;蛘?,當視差矢量表示子像素位置時,層間視頻編碼設(shè)備10可將子像素位置確定為參考位置,以提高光照補償參數(shù)的精度,因此提高編碼效率。下文將參考圖6A到圖7B詳細描述確定參考位置的過程。
層間視頻編碼設(shè)備10可基于所確定的參考位置來確定第一層參考塊。例如,參考位置可以是第一層參考塊的左上角的位置。
在操作15中,當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,層間視頻編碼設(shè)備10可通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值。
具體而言,層間視頻編碼設(shè)備10可基于參考位置來確定第一層相鄰樣本位置。例如,相鄰樣本位置可被確定為與參考位置間隔開預定偏移的位置。
層間視頻編碼設(shè)備10可確定所確定的相鄰樣本位置是否位于第一層圖像的邊界外部。例如,層間視頻編碼設(shè)備10可通過將相鄰樣本位置與第一層圖像的邊界位置進行比較來確定相鄰樣本位置是否位于第一層圖像的邊界外部。層間視頻編碼設(shè)備10可將相鄰樣本位置的第一分量值與第一層圖像的左邊界和右邊界進行比較,并且將相鄰樣本位置的第二分量值與第一層圖像的頂部邊界和底部邊界進行比較。第一分量值可以是x分量值,并且第二分量值可以是y分量值。
當相鄰樣本位置位于第一層圖像的邊界外部時,層間視頻編碼設(shè)備10可通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值。例如,層間視頻編碼設(shè)備10可基于第一層圖像的邊界位置來改變相鄰樣本位置,并且相鄰樣本值可以是第一層圖像的邊界的樣本值。
例如,層間視頻編碼設(shè)備10可基于第一層圖像的邊界通過裁剪相鄰樣本位置來確定相鄰樣本值。例如,當相鄰樣本位置的第一分量值位于第一層圖像的左邊界或右邊界外部時,層間視頻編碼設(shè)備10可將相鄰樣本值改成第一層圖像的左邊界或右邊界的樣本值。或者,當相鄰樣本位置的第二分量值位于第一層圖像的頂部邊界或底部邊界外部時,層間視頻編碼設(shè)備10可將相鄰樣本值改成第一層圖像的頂部邊界或底部邊界的樣本值。第一分量值可以是水平分量值,并且第二分量值可以是豎直分量值。
或者,層間視頻編碼設(shè)備10可通過使用第一層圖像的邊界的樣本值填補參考位置的相鄰樣本值來確定相鄰樣本值。
層間視頻編碼設(shè)備10可確定包括所確定的相鄰樣本值的第一層光照補償樣本列表。
在操作17中,層間視頻編碼設(shè)備10可基于所確定的相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。光照補償參數(shù)可包括比例因子和偏移中的至少一個。
層間視頻編碼設(shè)備10可通過將所確定的第一層參考塊的相鄰樣本值與第二層當前塊的相鄰樣本值進行比較來確定光照補償參數(shù)。例如,層間視頻編碼設(shè)備10可通過將第一層光照補償樣本列表與第二層光照補償樣本列表進行比較來確定光照補償參數(shù)。下文將參考圖4詳細描述確定光照補償參數(shù)的方法。
層間視頻編碼設(shè)備10可生成第二層比特流,所述第二層比特流包括表明是否執(zhí)行光照補償?shù)男畔⒁约暗谝粚訁⒖級K與第二層當前塊之間的層間預測信息,所述第二層當前塊的光照值基于光照補償參數(shù)進行補償。
層間視頻編碼設(shè)備10可對表明是否在當前塊上執(zhí)行光照補償?shù)男畔⒑陀脕泶_定光照補償參數(shù)的視差矢量進行編碼,并且以比特流的形式傳輸。當可基于預先編碼的信息來確定表明是否執(zhí)行光照補償?shù)男畔⒑陀脕泶_定光照補償參數(shù)的視差矢量時,層間視頻編碼設(shè)備10可不傳輸表明是否執(zhí)行光照補償?shù)男畔⒑鸵暡钍噶俊?/p>
或者,層間視頻編碼設(shè)備10可對表明是否執(zhí)行光照補償?shù)男畔⑦M行編碼并以比特流的形式傳輸,并且可對用來確定光照補償參數(shù)的視差矢量進行編碼并以比特流的形式傳輸,或者當可基于預先編碼的信息來確定視差矢量時,可不傳輸視差矢量。
通過補償?shù)谝粚訄D像與第二層圖像之間的光照差,可減小第二層圖像與第一層圖像之間的誤差,因此可提高層間預測的編碼效率。
根據(jù)各種實施方式的層間視頻編碼設(shè)備10可包括中央處理器(未示出),所述中央處理器用于控制第一層編碼器12、第二層編碼器14、相鄰樣本確定器16和光照補償參數(shù)確定器18中的全部。或者,第一層編碼器12、第二層編碼器14、相鄰樣本確定器16和光照補償參數(shù)確定器18可由獨立的處理器(未示出)控制,并且處理器可彼此協(xié)同操作,以控制層間視頻編碼設(shè)備10。或者,第一層編碼器12、第二層編碼器14、相鄰樣本確定器16和光照補償參數(shù)確定器18可由層間視頻編碼設(shè)備10的外部處理器(未示出)控制。
層間視頻編碼設(shè)備10可包括一個或多個數(shù)據(jù)存儲設(shè)備(未示出),所述數(shù)據(jù)存儲設(shè)備用于存儲第一層編碼器12、第二層編碼器14、相鄰樣本確定器16和光照補償參數(shù)確定器18的輸入和輸出數(shù)據(jù)。層間視頻編碼設(shè)備10可包括用于控制數(shù)據(jù)存儲設(shè)備的數(shù)據(jù)輸入和輸出的存儲器控制器(未示出)。
為了輸出視頻編碼結(jié)果,層間視頻編碼設(shè)備10可與安裝在層間視頻編碼設(shè)備10中的內(nèi)部視頻編碼處理器或外部視頻編碼處理器協(xié)同操作,從而執(zhí)行包括變換在內(nèi)的視頻編碼操作。層間視頻編碼設(shè)備10的內(nèi)部視頻編碼處理器可作為單獨的處理器來執(zhí)行視頻編碼操作。另外,基本視頻編碼操作可實現(xiàn)為層間視頻編碼設(shè)備10、中央處理設(shè)備或包括視頻編碼處理模塊的圖形處理設(shè)備。
圖2A是根據(jù)各種實施方式的層間視頻解碼設(shè)備20的框圖。
根據(jù)各種實施方式的層間視頻解碼設(shè)備20包括第一層解碼器22和第二層解碼器24。第二層解碼器24可包括相鄰樣本確定器26和光照補償參數(shù)確定器28。或者,第二層解碼器24還可包括用于確定是否在第二層當前塊上執(zhí)行光照補償?shù)墓庹昭a償確定器(未示出)。
根據(jù)另一實施方式的相鄰樣本確定器26和光照補償參數(shù)確定器28可位于第二層解碼器24的外部。
根據(jù)各種實施方式的層間視頻解碼設(shè)備20可經(jīng)由可伸縮編碼方案來接收根據(jù)層的比特流。層間視頻解碼設(shè)備20接收的比特流的層的數(shù)量不受限制。然而,為便于描述,將描述層間視頻解碼設(shè)備20的第一層解碼器22接收第一層流并進行解碼以及第二層解碼器24接收第二層流并進行解碼的實施方式。
例如,基于空間可伸縮性的層間視頻解碼設(shè)備20可接收流,其中具有不同分辨率的圖像序列在不同層中編碼。第一層流可經(jīng)過解碼以重建具有低分辨率的圖像序列,并且第二層流可經(jīng)過解碼以重建具有高分辨率的圖像序列。
作為另一示例,多視點視頻可根據(jù)可伸縮視頻編碼方案進行解碼。當多個層中接收到立體視覺視頻流時,第一層流可經(jīng)過解碼以重建左視點圖像。除了第一層流之外還有第二層流可進一步進行解碼,以重建右視點圖像。
或者,當多個層中接收到多視點視頻流時,可對第一層流進行解碼以重建中部視點圖像。除了第一層流之外還有第二層流可進一步被解碼,以重建左視點圖像。除了第一層流之外還有第三層流可進一步被解碼,以重建右視點圖像。
作為另一示例,可執(zhí)行基于時間可伸縮性的可伸縮視頻編碼方法。第一層流可經(jīng)過解碼以重建基本幀率圖像。第二層流可進一步被解碼以重建高幀率圖像。
此外,當存在至少三個第二層時,可由第一層流重建第一層圖像,并且當通過參考重建的第一層圖像對第二層流進一步解碼時,可進一步重建第二層圖像。當通過參考重建的第二層圖像對第K層流進一步解碼時,可進一步重建第K層圖像。
層間視頻解碼設(shè)備20可從第一層流和第二層流中獲取第一層圖像和第二層圖像的編碼數(shù)據(jù),此外,可進一步獲取經(jīng)由幀間預測生成的運動矢量和經(jīng)由層間預測生成的預測信息。
例如,層間視頻解碼設(shè)備20可按照層對幀間預測數(shù)據(jù)進行解碼,并且可對多個層之間的層間預測數(shù)據(jù)進行解碼。重建可基于編碼單元或預測單元通過運動補償和層間解碼來執(zhí)行。
可通過針對每個層流參考經(jīng)由相同層的幀間預測所預測出的重建圖像針對當前圖像執(zhí)行運動補償來重建圖像。運動補償是這樣一種操作,其中通過合成使用當前圖像的運動矢量和當前圖像的殘余分量而確定的參考圖像來重建當前圖像的重建圖像。
此外,層間視頻解碼設(shè)備20可參考第一層圖像來執(zhí)行層間解碼,以重建層間預測的第二層圖像。層間解碼指的是下列操作:通過組合被確定用來預測當前圖像的另一層參考圖像和當前圖像的殘余來配置當前圖像的重建圖像。
根據(jù)實施方式的層間視頻解碼設(shè)備20可執(zhí)行層間解碼,從而重建通過參考第二層圖像而預測出的第三層圖像。下文將參考圖3描述層間預測結(jié)構(gòu)。
然而,根據(jù)各種實施方式的第二層解碼器24可對第二層流進行解碼,而不必參考第一層圖像序列。因此,不應被限制性地解釋為:第二層解碼器24執(zhí)行層間預測以對第二層圖像序列進行解碼。
層間視頻解碼設(shè)備20根據(jù)視頻的每個圖像的塊來執(zhí)行解碼。塊可以是根據(jù)樹形結(jié)構(gòu)的編碼單元之中的最大編碼單元、編碼單元、預測單元或變換單元。
第一層解碼器22可通過使用第一層圖像的解析編碼符號對第一層圖像進行解碼。當層間視頻解碼設(shè)備20接收到基于樹形結(jié)構(gòu)的編碼單元進行編碼的流時,第一層解碼器22可根據(jù)第一層流的最大編碼單元、基于樹形結(jié)構(gòu)的編碼單元來執(zhí)行解碼。
第一層解碼器22可通過按照最大編碼單元執(zhí)行熵解碼來獲取解碼信息和解碼數(shù)據(jù)。第一層解碼器22可通過在從流中獲取的編碼數(shù)據(jù)上執(zhí)行反量化和逆變換來重建殘余分量。根據(jù)另一實施方式的第一層解碼器22可直接接收經(jīng)量化的變換系數(shù)的比特流。可通過在經(jīng)量化的變換系數(shù)上執(zhí)行反量化和逆變換來重建圖像的殘余分量。
第一層解碼器22可經(jīng)由相同層圖像之間的運動補償通過組合預測圖像和殘余分量來重建第一層圖像。
根據(jù)層間預測結(jié)構(gòu),第二層解碼器24可通過使用重建的第一層圖像的樣本來生成第二層預測圖像。第二層解碼器24可通過對第二層流進行解碼來獲取根據(jù)層間預測的預測誤差。第二層解碼器24可通過將第二層預測圖像和預測誤差相結(jié)合來生成重建的第二層圖像。
第二層解碼器24可通過使用由第一層解碼器22解碼的第一層參考圖像來確定第二層預測圖像。根據(jù)層間預測結(jié)構(gòu),第二解碼器24可確定將由塊(諸如,第二層圖像的編碼單元或預測單元)參考的第一層圖像的塊。例如,可確定位于與第二層圖像的當前塊的位置對應的位置的第一層圖像的參考塊。第二層解碼器24可通過使用與第二層塊對應的第一層參考塊來確定第二層預測塊。
第二層解碼器24可使用基于層間預測結(jié)構(gòu)通過使用第一層參考塊而確定的第二層預測塊作為參考圖像,以在第二層原始塊上進行層間預測。在這種情況下,第二層解碼器24可通過將使用重建的第一層圖像確定的第二層預測塊的樣本值和基于層間預測的殘余相結(jié)合來重建第二層塊。
基于空間可伸縮視頻編碼,當?shù)谝粚咏獯a器22已經(jīng)重建了分辨率不同于第二層圖像的第一層圖像時,第二層解碼器24可插入第一層參考圖像,以將其分辨率調(diào)整成與原始第二層圖像的分辨率相同。插入的第一層參考圖像可被確定為預測的第二層圖像,以用于層間預測。
因此,層間視頻解碼設(shè)備20的第一層解碼器22可通過對第一層流進行解碼來重建第一層圖像序列,并且第二層解碼器24可通過對第二層流進行解碼來重建第二層圖像序列。
考慮到視點之間的光照不匹配,層間視頻解碼設(shè)備20的光照補償參數(shù)確定器28可補償并重建不同視點視頻之間的光照差。例如,可從比特流中獲取將由第一層解碼器22解碼的第一視點圖像與將由第二層解碼器24解碼的第二視點圖像之間的光照差。由于獲取了第一視點圖像與第二視點圖像之間的光照差,因此,當?shù)诙咏獯a器24對第二視點視頻進行解碼時,可確定是否執(zhí)行光照補償。
根據(jù)各種實施方式的層間視頻解碼設(shè)備20可使用光照補償參數(shù),以用于第一層塊與第二層塊之間的光照補償。例如,光照補償參數(shù)可包括比例因子和偏移中的至少一個。
層間視頻解碼設(shè)備20可接收來自比特流的、表明是否執(zhí)行光照補償?shù)男畔ⅲ⑶掖_定是否在第二層當前塊上執(zhí)行光照補償?;蛘撸瑢娱g視頻解碼設(shè)備20可根據(jù)其他類型的編碼信息(例如,當前塊的分區(qū)類型信息)來確定是否執(zhí)行光照補償。
具體而言,第二層解碼器24的相鄰樣本確定器26可確定第一層圖像的參考位置,并且基于參考位置來確定第一層參考塊的相鄰樣本值。表示層之間的視點差異的視差矢量可用來確定與第二層當前塊對應的第一層參考塊。視差矢量可以以比特流的形式傳輸或者由其他類型的編碼信息推導出。
視差矢量可表示與第二層當前塊的位置對應的第一層圖像的參考位置。第二層當前塊的位置可以是作為基礎(chǔ)位置的當前塊的左上角樣本的位置。第一層圖像的參考位置可以是第一層參考塊的左上角樣本的位置。
相鄰樣本確定器26可基于參考位置來確定相鄰樣本位置。例如,相鄰樣本位置可包括與第一層參考塊相鄰的頂部樣本位置和左側(cè)樣本位置,并且基于參考位置進行確定。具體而言,相鄰樣本位置可以是與參考位置間隔開預定偏移的位置。
第二層解碼器24的光照補償參數(shù)確定器28可基于相鄰樣本位置是否有效來確定相鄰樣本值,并且基于所確定的相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。相鄰樣本位置有效這一事實可意味著相鄰樣本位置設(shè)在第一層圖像內(nèi)。下文將參考圖4詳細描述確定光照補償參數(shù)的方法。
在這種情況下,當參考塊的相鄰樣本位置位于第一層圖像的邊界外部時,可不存在參考塊的相鄰樣本值。因此,編碼效率可能降低。此外,用于編碼的計算量可能增加,以確定相鄰樣本位置是否有效。
因此,當基于第一層參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,根據(jù)實施方式的層間視頻解碼設(shè)備20可基于第一層圖像的邊界位置來改變相鄰樣本位置,并且通過使用第一層圖像的邊界的樣本值來確定第二層當前塊的光照補償參數(shù)。
通過使用第一層圖像的邊界的樣本值,層間視頻解碼設(shè)備20不需要檢查相鄰樣本值的有效性,并且可獲取更準確的樣本值,從而提高編碼效率。例如,層間視頻解碼設(shè)備20可不檢查第一層的相鄰樣本值的有效性,并且可基于第二層當前塊的相鄰樣本值是否有效來執(zhí)行光照補償。
現(xiàn)在將參考圖2B詳細描述用于確定光照補償參數(shù)的層間視頻解碼設(shè)備20的操作。
圖2B是根據(jù)各種實施方式的層間視頻解碼方法的流程圖。
在操作21中,層間視頻解碼設(shè)備20可對第一層圖像進行解碼。層間視頻解碼設(shè)備20可接收第一層比特流并且對第一層圖像進行解碼。
在操作23中,層間視頻解碼設(shè)備20可確定第一層圖像中的、與第二層當前塊的位置對應的參考位置。
層間視頻解碼設(shè)備20可獲取并使用表示第一層參考塊的第二層當前塊的視差矢量。視差矢量可由當前塊的相鄰塊推導出?;蛘?,可從比特流中獲取視差矢量。
層間視頻解碼設(shè)備20可通過使用視差矢量來確定第一層圖像中的、與第二層當前塊的位置對應的參考位置。第一層圖像的參考位置可以是與第二層當前塊對應的第一層參考塊的左上角樣本的位置。
由于視差矢量可具有分數(shù)像素精度,例如,四分之一像素或半像素精度,因此,由第二層當前塊的視差矢量表示的第一層圖像的位置可以是子像素位置。子像素位置可以是不同于整數(shù)像素位置的像素位置。
當視差矢量表示子像素位置時,層間視頻解碼設(shè)備20可將與子像素位置相鄰的整數(shù)像素位置確定為參考位置,以降低計算復雜性?;蛘?,當視差矢量表示子像素位置時,層間視頻解碼設(shè)備20可將子像素位置確定為參考位置,以提高光照補償參數(shù)的精度,因此提高編碼效率。下文將參考圖6A到圖7B詳細描述確定參考位置的過程。
層間視頻解碼設(shè)備20可基于所確定的參考位置來確定第一層參考塊。例如,參考位置可以是第一層參考塊的左上角的位置。
在操作25中,當參考位置的相鄰樣本位置位于第一層圖像的邊界外部時,層間視頻解碼設(shè)備20可通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值。
具體而言,層間視頻解碼設(shè)備20可基于參考位置來確定第一層相鄰樣本位置。例如,相鄰樣本位置可被確定為與參考位置間隔開預定偏移的位置。
層間視頻解碼設(shè)備20可確定所確定的相鄰樣本位置是否位于第一層圖像的邊界外部。例如,層間視頻解碼設(shè)備20可通過將相鄰樣本位置與第一層圖像的邊界位置進行比較來確定相鄰樣本位置是否位于第一層圖像的邊界外部。層間視頻解碼設(shè)備20可將相鄰樣本位置的第一分量值與第一層圖像的左邊界和右邊界進行比較,并且將相鄰樣本位置的第二分量值與第一層圖像的頂部邊界和底部邊界進行比較。第一分量值可以是x分量值,并且第二分量值可以是y分量值。
當相鄰樣本位置位于第一層圖像的邊界外部時,層間視頻解碼設(shè)備20可通過使用第一層圖像的邊界的樣本值來確定相鄰樣本值。例如,層間視頻解碼設(shè)備20可基于第一層圖像的邊界位置來改變相鄰樣本位置,并且相鄰樣本值可以是第一層圖像的邊界的樣本值。
例如,層間視頻解碼設(shè)備20可基于第一層圖像的邊界通過裁剪相鄰樣本位置來確定相鄰樣本值。例如,當相鄰樣本位置的第一分量值位于第一層圖像的左邊界或右邊界外部時,層間視頻解碼設(shè)備20可將相鄰樣本值改成第一層圖像的左邊界或右邊界的樣本值?;蛘撸斚噜彉颖疚恢玫牡诙至恐滴挥诘谝粚訄D像的頂部邊界或底部邊界外部時,層間視頻解碼設(shè)備20可將相鄰樣本值改成第一層圖像的頂部邊界或底部邊界的樣本值。第一分量值可以是水平分量值,并且第二分量值可以是豎直分量值。
或者,層間視頻解碼設(shè)備20可通過使用第一層圖像的邊界的樣本值填補參考位置的相鄰樣本值來確定相鄰樣本值。
層間視頻解碼設(shè)備20可確定包括所確定的相鄰樣本值的第一層光照補償樣本列表。
在操作27中,層間視頻解碼設(shè)備20可基于所確定的相鄰樣本值來確定第二層當前塊的光照補償參數(shù)。光照補償參數(shù)可包括比例因子和偏移中的至少一個。
層間視頻解碼設(shè)備20可通過將所確定的第一層參考塊的相鄰樣本值與第二層當前塊的相鄰樣本值進行比較來確定光照補償參數(shù)。例如,層間視頻解碼設(shè)備20可通過將第一層光照補償樣本列表與第二層光照補償樣本列表進行比較來確定光照補償參數(shù)。下文將參考圖4詳細描述確定光照補償參數(shù)的方法。
如上文所述,層間視頻解碼設(shè)備20可對進行光照補償?shù)牡诙訅K進行解碼,所述第二層塊的光照值基于所確定的光照補償參數(shù)進行補償。
根據(jù)各種實施方式的層間視頻解碼設(shè)備20可包括中央處理器(未示出),所述中央處理器用于控制第一層解碼器22、第二層解碼器24、相鄰樣本確定器26和光照補償參數(shù)確定器28中的全部?;蛘撸谝粚咏獯a器22、第二層解碼器24、相鄰樣本確定器26和光照補償參數(shù)確定器28可由獨立的處理器(未示出)控制,并且處理器可彼此協(xié)同操作,以控制層間視頻解碼設(shè)備20。或者,第一層解碼器22、第二層解碼器24、相鄰樣本確定器26和光照補償參數(shù)確定器28可由層間視頻解碼設(shè)備20的外部處理器(未示出)控制。
層間視頻解碼設(shè)備20可包括一個或多個數(shù)據(jù)存儲設(shè)備(未示出),所述數(shù)據(jù)存儲設(shè)備用于存儲第一層解碼器22、第二層解碼器24、相鄰樣本確定器26和光照補償參數(shù)確定器28的輸入和輸出數(shù)據(jù)。層間視頻解碼設(shè)備20可包括用于控制數(shù)據(jù)存儲設(shè)備的數(shù)據(jù)輸入和輸出的存儲器控制器(未示出)。
為了對視頻進行解碼和重建,層間視頻解碼設(shè)備20可與安裝在層間視頻解碼設(shè)備20中的內(nèi)部視頻解碼處理器或外部視頻解碼處理器協(xié)同操作,從而執(zhí)行包括逆變換在內(nèi)的視頻解碼操作。層間視頻解碼設(shè)備20的內(nèi)部視頻解碼處理器可包括層間視頻解碼設(shè)備20中包括的獨立處理器或視頻解碼模塊、中央處理單元或者圖形處理單元,以執(zhí)行基本視頻解碼操作。
參考圖2A和圖2B,由于層間視頻解碼設(shè)備20按照一定類型的塊或截片補償不同層圖像或者不同視點之間的光照差,以對第二層圖像進行解碼,因此,重建的第一層圖像和重建的第二層圖像可具有均勻的光照值。參考圖1A和圖1B,由于層間視頻編碼設(shè)備10按照一定類型的塊或截片補償不同層圖像之間的光照差,因此,可減少預測的圖像與原始圖像之間的殘余。因此,可提高編碼效率。
此外,可基于第一層圖像的邊界通過更準確地確定用來推導光照補償參數(shù)的第一層相鄰樣本值來進一步提高編碼效率。
圖3示出根據(jù)實施方式的層間預測結(jié)構(gòu)。
根據(jù)實施方式的層間視頻編碼設(shè)備10可基于多視點視頻預測結(jié)構(gòu)的播放順序30對基本視點圖像、左視點圖像和右視點圖像進行預測編碼。
根據(jù)依據(jù)相關(guān)技術(shù)的多視點視頻預測結(jié)構(gòu)的播放順序30,相同視點的圖像布置在水平方向上。因此,由“左”表示的左視點圖像在水平方向上布置成行,由“中部”表示的基本視點圖像在水平方向上布置成行,并且由“右”表示的右視點圖像在水平方向上布置成行。與左/右視點圖像相比,基本視點圖像可以是中部視點圖像。
此外,具有相同圖片序列號(POC)順序的圖像布置在豎直方向上。圖像的POC順序表示形成視頻的圖像的播放順序。多視點視頻預測結(jié)構(gòu)的播放順序30中表示的“POC X”表明對應列中的圖像的相對播放順序,其中在X的值較低時,播放順序在前,而當X的值較高時,播放順序在后。
因此,根據(jù)依據(jù)相關(guān)技術(shù)的多視點視頻預測結(jié)構(gòu)的播放順序30,由“左”表示的左視點圖像根據(jù)POC順序(播放順序)布置在水平方向上,由“中部”表示的基本視點圖像根據(jù)POC順序(播放順序)布置在水平方向上,并且由“右”表示的右視點圖像根據(jù)POC順序(播放順序)布置在水平方向上。此外,與基本視點圖像位于相同列上的左視點圖像和右視點圖像具有不同視點,但具有相同POC順序(播放順序)。
四個連續(xù)圖像根據(jù)視點形成一個圖片組(GOP)。每個GOP包括連續(xù)錨圖片(anchor picture)之間的圖像,和一個錨圖片(關(guān)鍵圖片)。
錨圖片是隨機訪問點,并且當播放視頻的同時從根據(jù)播放順序(即,POC順序)布置的圖像中任意選擇播放位置時,播放根據(jù)POC順序最靠近播放位置的錨圖片?;A(chǔ)層圖像包括基礎(chǔ)層錨圖片31、32、33、34和35,左視點圖像包括左視點錨圖片131、132、133、134和135,并且右視點圖像包括右視點錨圖片231、232、233、234和235。
多視點圖像可根據(jù)GOP順序進行播放和預測(重建)。首先,根據(jù)多視點視頻預測結(jié)構(gòu)的播放順序30,可播放GOP 0中包括的圖像,隨后根據(jù)視點,可播放GOP 1中包括的圖像。換言之,可按GOP 0、GOP 1、GOP 2和GOP 3的順序播放每個GOP中包括的圖像。此外,根據(jù)多視點視頻預測結(jié)構(gòu)的編碼順序,可預測(重建)GOP 0中包括的圖像,隨后根據(jù)視點,可預測(重建)GOP 1中包括的圖像。換言之,可按GOP 0、GOP 1、GOP 2和GOP 3的順序來預測(重建)每個GOP中包括的圖像。
根據(jù)多視點視頻預測結(jié)構(gòu)的播放順序30,在圖像上執(zhí)行視點間預測(層間預測)和幀間預測。在多視點視頻預測結(jié)構(gòu)中,箭頭開始的圖像是參考圖像,并且箭頭終止的圖像是使用參考圖像預測的圖像。
基本視點圖像的預測結(jié)果可被編碼,隨后以基本視點圖像流的形式輸出,并且附加視點圖像的預測結(jié)果可被編碼,隨后以層比特流的形式輸出。此外,左視點圖像的預測編碼結(jié)果可輸出為第一層比特流,并且右視點圖像的預測編碼結(jié)果可輸出為第二層比特流。
只在基本視點圖像上執(zhí)行幀間預測。換言之,I圖片類型的基本層錨圖片31、32、33、34和35沒有參考其他圖像,而其余的、B和b圖片類型圖像是通過參考其他基本視點圖像來預測的。B圖片類型的圖像是通過參考根據(jù)POC順序在B圖片類型的圖像前面的I圖片類型的錨圖片和下一I圖片類型的錨圖片來預測的。b圖片類型的圖像是通過參考根據(jù)POC順序在b圖片類型的圖像前面的I類型的錨圖片和下一B圖片類型的圖像來預測的,或者通過參考根據(jù)POC順序在b圖片類型的圖像前面的B圖片類型的圖像和下一I圖片類型的錨圖片來預測的。
在左視點圖像和右視點圖像中的每個圖像上執(zhí)行參考不同視點圖像的視點間預測(層間預測)和參考相同視點圖像的幀間預測。
通過分別參考具有相同POC順序的基本視點錨圖片31、32、33、34和35,可在左視點錨圖片131、132、133、134和135上執(zhí)行視點間預測(層間預測)。通過分別參考具有相同POC順序的基本視點錨圖片31、32、33、34和35或者左視點錨圖片131、132、133、134和135,可在右視點錨圖片231、232、233、234和235上執(zhí)行視點間預測。此外,通過參考具有相同POC的其他視點圖像,可在除了左視點圖像131、132、133、134和135及右視點錨圖片231、232、233、234和235外的其余圖像上執(zhí)行視點間預測(層間預測)。
左視點圖像和右視點圖像之中的、除了錨圖片131、132、133、134、135、231、232、233、234和235外的其余圖像通過參考相同視點圖像來預測。
然而,可不通過參考在相同視點的附加視點圖像之中播放順序在前的錨圖片來預測左視點圖像和右視點圖像中的每個圖像。換言之,為了在當前左視點圖像上執(zhí)行幀間預測,可參考排除按播放順序在當前左視點圖像前面的左視點錨圖片的左視點圖像。同樣地,為了在當前右視點圖像上執(zhí)行幀間預測,可參考排除按播放順序在當前右視點圖像前面的右視點錨圖片的右視點圖像。
此外,為了在當前左視點圖像上執(zhí)行幀間預測,可通過參考屬于當前GOP但在當前左視點圖像之前重建的左視點圖像來執(zhí)行預測,而不是參考屬于當前左視點圖像的、在當前GOP之前的GOP的左視點圖像。這同樣適用于右視點圖像。
根據(jù)實施方式的層間視頻解碼設(shè)備20可根據(jù)圖3的多視點視頻預測結(jié)構(gòu)的播放順序30來重建基本視點圖像、左視點圖像和右視點圖像。
左視點圖像可經(jīng)由參考基本視點圖像的視點間視差補償和參考左視點圖像的圖像間運動補償來重建。右視點圖像可經(jīng)由參考基本視點圖像和左視點圖像的視點間視差補償和參考右視點圖像的圖像間運動補償來重建??墒紫柔槍ψ笠朁c圖像和右視點圖像的視差補償和運動補償來重建參考圖像。
針對左視點圖像的圖像間運動補償,可經(jīng)由參考所重建的左視點參考圖像的圖像間運動補償來重建左視點圖像。針對右視點圖像的圖像間運動補償,可經(jīng)由參考所重建的右視點參考圖像的圖像間運動補償來重建右視點圖像。
此外,針對當前左視點圖像的圖像間運動補償,可只參考屬于當前左視點圖像的當前GOP但在當前左視點圖像之前重建的左視點圖像,而不參考屬于當前GOP之前的GOP的左視點圖像。這同樣適用于右視點圖像。
如上文所述,層間視頻編碼設(shè)備10和層間視頻解碼設(shè)備20可基于圖像特性來確定是否執(zhí)行光照補償。例如,可基于根據(jù)率失真(RD)優(yōu)化確定的塊的編碼模式、塊的預測方向和編碼類型來確定是否在塊上執(zhí)行光照補償。
圖4示出根據(jù)實施方式的確定光照補償參數(shù)的方法的示例。
根據(jù)實施方式的層間視頻解碼設(shè)備20可獲取表明是否執(zhí)行按照編碼單元的光照補償?shù)男畔?,并且按照每個編碼單元的預測單元來確定每個預測方向的每個顏色分量(例如,Y、U或V)的光照補償參數(shù)。在這種情況下,可基于當前塊的相鄰樣本和與當前塊對應的另一層的參考塊的相鄰樣本來確定光照補償參數(shù)。換言之,可通過將第一層的參考塊的相鄰樣本與第二層的當前塊的相鄰樣本進行比較來確定光照補償參數(shù)。光照補償參數(shù)可包括比例因子a和偏移b中的至少一個。
在這種情況下,用來推導光照補償參數(shù)的當前塊的相鄰樣本可參考在當前塊重建之前就已經(jīng)重建的當前塊的可用相鄰樣本。因此,在當前塊的相鄰樣本不可用時,可不推導光照補償參數(shù)。換言之,層間視頻解碼設(shè)備20可基于當前塊的相鄰樣本值是否可用而確定是否執(zhí)行光照補償。
為了確定光照補償參數(shù),應找到與第二層當前塊40對應的第一層參考塊45。在這種情況下,可使用視差矢量。在本文中,視差矢量是表示第二層當前塊40與第一層參考塊45之間的位置差異的矢量。
例如,圖4示出被配置成8×8的塊的第二層當前塊40和與第二層當前塊40對應的第一層參考塊45。層間視頻解碼設(shè)備20可基于第二層當前塊40的位置41來確定由視差矢量表示的第一層圖像的參考位置46。當前塊的位置41是當前塊40的基礎(chǔ)位置并且可以是其左上角的位置,而參考位置46可以是與第二層當前塊40對應的第一層參考塊45的左上角的位置。
當確定了第一層參考塊45時,可通過使用第二層當前塊40的相鄰樣本42和第一層參考塊45的相鄰樣本47來確定光照補償參數(shù)。可通過使用相鄰樣本42和47中的全部或一部分來確定光照補償參數(shù)。例如,相鄰樣本42與相鄰樣本47之間的平均光照差可被確定為偏移,因此,可通過所確定的偏移在當前塊40上執(zhí)行光照補償。
根據(jù)實施方式,考慮到第二層當前塊40內(nèi)的樣本與參考塊45內(nèi)的樣本之間的光照差類似于當前塊40的相鄰樣本42與參考塊45的相鄰樣本47之間的光照差,層間視頻解碼設(shè)備20可通過使用相鄰樣本42和47來確定光照補償參數(shù)a和b。換言之,層間視頻解碼設(shè)備20可基于包括第一層參考塊45的相鄰樣本47的第一層光照補償樣本列表和包括第二層當前塊40的相鄰樣本42的第二層光照補償樣本列表來確定光照補償參數(shù)。
由于可通過使用相鄰樣本42和47來確定a和b,因此,即使在沒有接收到光照補償參數(shù)作為句構(gòu)時,層間視頻解碼設(shè)備20也可計算光照補償參數(shù)。因此,可減少將要傳輸?shù)臄?shù)據(jù)。
計算光照補償參數(shù)的方法包括線性回歸方案、基于差的均值的預測(ADP)方案以及基于均值的差的預測(DAP)方案等。當使用線性回歸方案時,可通過使用等式1來計算光照補償參數(shù)a和b。
等式1
N可以是塊的相鄰樣本的數(shù)量(在圖4中,N是16),NBcurr可以是當前塊40的相鄰樣本42的值,并且NBref可以是參考塊45的相鄰樣本47的值。
層間視頻解碼設(shè)備20可通過使用所確定的光照補償參數(shù)在第二層當前塊40上執(zhí)行光照補償。例如,層間視頻解碼設(shè)備20可通過使用由等式2限定的光照補償模型來補償當前塊40的每個樣本的光照值Pred(x,y)。
等式2
Pred′(x,y)=a×Pred(x,y)+b
如上文所述,由于在層間預測結(jié)構(gòu)中預測層之間的殘余,因此,用于預測層之間的光照差的編碼操作可增加計算量。具體而言,將每個像素的光照值乘以比例因子a的操作需要計算機的很多時鐘,因此在執(zhí)行光照補償時可產(chǎn)生負載。
因此,根據(jù)實施方式的層間視頻解碼設(shè)備20可通過考慮諸如當前圖像的截片或塊的每個預定數(shù)據(jù)單元的特性之后僅僅添加偏移來執(zhí)行光照補償。換言之,只使用偏移的光照補償可通過使用由等式3限定的光照補償來執(zhí)行。
等式3
Pred’(x,y)=Pred(x,y)+b’
層間視頻解碼設(shè)備20可只確定偏移b’。層間視頻解碼設(shè)備20可將通過將偏移b’添加到第二層當前塊40的每個樣本的光照值Pred(x,y)而獲取的值確定為經(jīng)過光照補償?shù)牡诙赢斍皦K40的每個樣本的光照值Pred’(x,y)。由于等式3限定的光照補償模型并不包括乘法操作,而是只包括偏移添加操作,因此,光照補償所需的計算量可減少。
盡管在圖4中,層間視頻解碼設(shè)備20確定光照補償模型和光照補償參數(shù),但本領(lǐng)域普通技術(shù)人員將理解,上文參考圖4描述的方法也適用于層間視頻編碼設(shè)備10。
圖5A和圖5B示出根據(jù)各種實施方式的確定第一層圖像50的相鄰樣本位置的過程的示例。
為了確定光照補償參數(shù),根據(jù)各種實施方式的層間視頻解碼設(shè)備20可通過使用視差矢量DV來確定與第二層圖像52的當前塊53對應的第一層參考塊51。視差矢量DV可以以比特流的形式傳輸或者由其他類型的編碼信息推導出。
參考圖5A,當參考塊51的相鄰樣本位置54和55位于第一層圖像50的邊界外部時,可不存在參考塊51的相鄰樣本值。因此,編碼效率可能降低。此外,用于編碼的計算量可能增加,以檢查相鄰樣本位置54和55的有效性。
因此,當基于第一層參考位置的相鄰樣本位置54和55位于第一層圖像50的邊界外部時,根據(jù)各種實施方式的層間視頻解碼設(shè)備20可通過使用第一層圖像50的邊界的樣本值來確定相鄰樣本值。例如,相鄰樣本值可以是第一層圖像50的邊界的樣本值。
通過使用第一層圖像50的邊界的樣本值,層間視頻解碼設(shè)備20不需要檢查相鄰樣本值的有效性,并且可獲取更準確的樣本值,從而提高編碼效率。例如,層間視頻解碼設(shè)備20可不檢查第一層的相鄰樣本值的有效性,并且可基于第二層當前塊53的相鄰樣本值是否有效來執(zhí)行光照補償。
參考圖5B,示出由層間視頻解碼設(shè)備20確定相鄰樣本值的過程。
當基于第一層參考位置的相鄰樣本位置54和55位于第一層圖像50的邊界外部時,根據(jù)各種實施方式的層間視頻解碼設(shè)備20可通過使用第一層圖像50的邊界的樣本值來確定相鄰樣本值。
在圖5B中,當?shù)谝粚酉噜彉颖疚恢?4和55位于第一層圖像50的邊界外部時,層間視頻解碼設(shè)備20可基于第一層圖像50的邊界位置56和57通過改變相鄰樣本位置54和55來確定相鄰樣本值。換言之,層間視頻解碼設(shè)備20可基于第一層圖像50的邊界通過裁剪參考位置的相鄰樣本位置54和55來確定相鄰樣本值。
具體而言,層間視頻解碼設(shè)備20可將相鄰樣本位置54和55的第一分量值與第一層圖像50的左邊界和右邊界進行比較,并且將相鄰樣本位置54和55的第二分量值與第一層圖像50的頂部邊界和底部邊界進行比較。第一分量值可以是x分量值,并且第二分量值可以是y分量值。
當相鄰樣本位置54和55位于第一層圖像50的左邊界或右邊界外部時,層間視頻解碼設(shè)備20可通過使用第一層圖像50的左邊界或右邊界的樣本值來確定相鄰樣本值。當相鄰樣本位置54和55位于第一層圖像50的頂部邊界或底部邊界外部時,層間視頻解碼設(shè)備20可通過使用第一層圖像50的頂部邊界或底部邊界的樣本值來確定相鄰樣本值。
例如,在圖5B中,由于相鄰樣本位置54位于第一層圖像50的左邊界外部,因此,層間視頻解碼設(shè)備20可通過使用第一層圖像50的左邊界位置56的樣本值來確定第一層參考塊51的頂部相鄰樣本值。此外,由于相鄰樣本位置55位于第一層圖像50的左邊界外部,因此,層間視頻解碼設(shè)備20可通過使用第一層圖像50的左邊界位置57的樣本值來確定第一層參考塊51的左側(cè)相鄰樣本值。第一層參考塊51的頂部相鄰樣本值可對應于第一層圖像50的左邊界位置56的樣本值,并且第一層參考塊51的左側(cè)相鄰樣本值可以是第一層圖像50的左邊界位置57的樣本值。
類似地,當相鄰樣本位置54和55位于第一層圖像50的右邊界外部時,層間視頻解碼設(shè)備20可通過使用右邊界的樣本值來確定相鄰樣本值。
此外,當相鄰樣本位置54和55位于第一層圖像50的頂部或底部邊界外部時,層間視頻解碼設(shè)備20可通過使用頂部或底部邊界的樣本值來確定相鄰樣本值。
具體而言,當相鄰樣本位置54和55的第一分量值位于第一層圖像50的左邊界或右邊界外部時,層間視頻解碼設(shè)備20可基于第一層圖像50的左邊界位置或右邊界位置來改變相鄰樣本位置54和55的第一分量值。當相鄰樣本位置54和55的第二分量值位于第一層圖像50的頂部邊界或底部邊界外部時,層間視頻解碼設(shè)備20可基于第一層圖像50的頂部邊界位置或底部邊界位置來改變相鄰樣本位置54和55的第二分量值。相鄰樣本值可以是第一層圖像50的左邊界位置或右邊界位置的樣本值,或者第一層圖像50的頂部邊界位置或底部邊界位置的樣本值。
如上文參考圖5B描述的確定第一層相鄰樣本值的方法可表示為下列偽代碼。
xOff=curNbColFlag?-1:i
yOff=curNbColFlag?i:-1
xP=Clip3(0,(pic_width_in_luma_samples/subWidth)-1,xRefBlkLX+xOff)
yP=Clip3(0,(pic_height_in_luma_samples/subHeight)-1,yRefBlkLX+yOff)
refSampleListLX[numSamples]=refRecSamplesLX[xP][yP]
curSampleList[numSamples++]=curRecSamples[xC+xOff][yC+yOff]
在本文中,curNbColFlag可以是表明相鄰樣本位置是第一層參考位置的頂部相鄰樣本位置還是左側(cè)相鄰樣本位置的信息。此外,availFlagCurLeftCol和availFlagCurAboveRow可以是分別表明第二層當前塊的左側(cè)樣本值是否有效的信息和表明第二層當前塊的頂部樣本值是否有效的信息。另外,xRefBlkLX和yRefBlkLX可以分別表示第一層參考位置的x分量和y分量。此外,xRefBlkLX+xOff和yRefBlkLX+yOff可以分別表示基于第一層參考位置的相鄰樣本位置的x分量和y分量。
相鄰樣本位置的x分量(xRefBlkLX+xOff)可基于作為最小值的第一層圖像的左邊界位置(0)和作為最大值的第一層圖像的右邊界位置((pic_width_in_luma_samples/subWidth)-1)進行裁剪,并且改變成相鄰樣本位置的新x分量(xP)。相鄰樣本位置的y分量(yRefBlkLX+yOff)可基于作為最小值的第一層圖像的頂部邊界位置(0)和作為最大值的第一層圖像的右邊界位置((pic_height_in_luma_samples/subHeight)-1)進行裁剪,并且改變成相鄰樣本位置的新y分量(yP)。
在本文中,refRecSamplesLX[xP][yP]可表示重建的第一層圖像的相鄰樣本值。層間視頻解碼設(shè)備20可確定包括第一層圖像的相鄰樣本值的第一層光照補償樣本列表(refSampleListLX)。此外,層間視頻解碼設(shè)備20可確定包括第二層圖像的相鄰樣本值的第二層光照補償樣本列表(curSampleList)。
或者,層間視頻解碼設(shè)備20可通過使用第一層圖像的邊界的樣本值填補參考位置的相鄰樣本值來確定相鄰樣本值。
由于層間視頻解碼設(shè)備20通過使用所確定的第一層參考塊51的相鄰樣本值來確定光照補償參數(shù),因此,可以預測更準確的相鄰樣本值,因而可提高編碼效率。
盡管在圖5A和圖5B中層間視頻解碼設(shè)備20確定用來推導光照補償?shù)牡谝粚酉噜彉颖局?,但本領(lǐng)域普通技術(shù)人員將理解,上文參考圖5A和圖5B描述的方法也適用于層間視頻編碼設(shè)備10。
圖6A到圖6C示出根據(jù)各種實施方式的確定參考位置以確定第一層相鄰樣本值的方法的示例。
根據(jù)各種實施方式的層間視頻解碼設(shè)備20可使用表示層之間的視點差異的視差矢量來確定與第二層當前塊對應的第一層參考塊。視差矢量可以以比特流的形式傳輸或者由其他類型的編碼信息推導出。
由于視差矢量可具有分數(shù)像素精度,例如,四分之一像素或半像素精度,因此,由第二層當前塊的視差矢量表示的第一層圖像的位置可以是子像素位置。子像素位置可以是不同于整數(shù)像素位置的像素位置。
當視差矢量表示子像素位置時,與子像素位置相鄰的整數(shù)像素位置可以是第一層圖像的參考位置,以降低計算的復雜性。
例如,圖6A到圖6C示出根據(jù)實施方式確定由視差矢量表示的相鄰整數(shù)像素的示例。
在圖6A到圖6C中,大寫字母A、B、C和D表示整數(shù)像素位置,并且小寫字母a到o表示子像素位置。
參考圖6A,根據(jù)實施方式的層間視頻解碼設(shè)備20可將包括由第二層當前塊的基礎(chǔ)位置處的視差矢量表示的第一層圖像的位置的1×1的塊的整數(shù)像素位置確定為第一層參考位置。
例如,當視差矢量表示左上角區(qū)域60的子像素位置a、b、c、d、e、f、g、h、i、j、k、l、m、n或o時,第一層參考位置可以是整數(shù)像素位置A。
如上文參考圖6A描述的通過使用由當前塊的基礎(chǔ)位置處的視差矢量表示的第一層圖像的位置來確定參考位置的方法可表示為下列偽代碼。
xRLX=xC+(mvLX[0]>>(2+(cIdx?1:0)))
yRLX=y(tǒng)C+(mvLX[1]>>(2+(cIdx?1:0)))
在上述偽代碼中,mvLX[0]和mvLX[1]可表示視差矢量的x分量和y分量,(xC,yC)可表示當前塊的位置坐標,以及cIdx在值為0時可表示Y分量或深度圖、在值為1時可表示U分量,并且在值為2時可表示V分量。亮度塊和色度塊具有不同的尺寸,因此可具有整數(shù)像素之間的不同距離。因此,當視差矢量表示子像素時,確定參考位置的方法可基于條件句“cIdx?1:0”表示亮度塊還是色度塊而不同。
因此,可基于由上述偽代碼示出的預定移位操作來獲取與當前塊位置(xC,yC)對應的參考塊位置(xRLX,yRLX)。在本文中,當前塊位置(xC,yC)和參考塊位置(xRLX,yRLX)中的每個可以是塊的左上角的坐標值。然而,當前塊位置(xC,yC)和參考塊位置(xRLX,yRLX)中的每個不限于此,并且可以是塊的中心像素的坐標值。
作為另一示例,參考圖6B,根據(jù)實施方式的層間視頻解碼設(shè)備20可通過使用與由當前塊的基礎(chǔ)位置處的視差矢量表示的第一層圖像的位置最靠近的整數(shù)像素位置來確定第一層參考位置。第一層參考位置可以是與由視差矢量表示的第一層圖像的位置最靠近的整數(shù)像素位置。
例如,當視差矢量表示左上角區(qū)域61的子像素位置a、d或e時,整數(shù)像素位置A可以是第一層參考位置。
同樣,當視差矢量表示右上角區(qū)域62的子像素位置b、c、f或g時,整數(shù)像素位置B可以是參考位置。當視差矢量表示左下角區(qū)域63的子像素位置l、m或n時,整數(shù)像素位置C可以是參考位置。當視差矢量表示右下角區(qū)域64的子像素位置j、k、n或o時,整數(shù)像素位置D可以是參考位置?;蛘撸斠暡钍噶勘硎菊麛?shù)像素位置時,整數(shù)像素位置可被確定為第一層參考位置。
如上文參考圖6B描述的通過使用由當前塊的基礎(chǔ)像素41處的視差矢量表示的位置來確定第一層參考位置的方法可表示為下列偽代碼。
xRLX=xC+((mvLX[0]+(cIdx?4:2))>>(2+(cIdx?1:0)))
yRLX=y(tǒng)C+((mvLX[1]+(cIdx?4:2))>>(2+(cIdx?1:0)))
上述偽代碼可更改成如下所示。
xRLX=xC+((mvLX[0]+2+(cIdx?2:0))>>(2+(cIdx?1:0)))
yRLX=y(tǒng)C+((mvLX[1]+2+(cIdx?2:0))>>(2+(cIdx?1:0)))
作為另一示例,參考圖6C,當視差矢量表示左上角區(qū)域65的子像素位置a、b、d、e、f、h、i或j時,根據(jù)實施方式的層間視頻解碼設(shè)備20可通過使用整數(shù)像素位置A來確定第一層參考位置。
同樣,當視差矢量表示右上角區(qū)域66的子像素位置c、g或k時,整數(shù)像素位置B可被確定為參考位置。當視差矢量表示左下角區(qū)域67的子像素位置l、m或n時,整數(shù)像素位置C可被確定為參考位置。當視差矢量表示右下角區(qū)域68的子像素位置o時,整數(shù)像素位置D可被確定為參考位置。
當視差矢量表示預定子像素時確定的整數(shù)像素位置不限于圖6A到圖6C的方法,并且可通過使用各種方法進行確定。
層間視頻解碼設(shè)備20可基于所確定的第一層參考位置來確定第一層參考塊的相鄰樣本位置、基于相鄰樣本位置來確定相鄰樣本值,以及確定包括相鄰樣本值的第一層光照補償樣本列表。
盡管在圖6A到圖6C中,層間視頻解碼設(shè)備20確定第一層參考位置,但本領(lǐng)域普通技術(shù)人員將理解,上文參考圖6A到圖6C描述的方法也適用于層間視頻編碼設(shè)備10。
圖7A到圖7C示出根據(jù)各種實施方式的確定參考位置以確定第一層相鄰樣本值的方法的示例。
圖7A示出根據(jù)實施方式的以整數(shù)像素為單位確定第一層相鄰樣本位置的過程,并且圖7B示出根據(jù)實施方式的以子像素為單位確定第一層相鄰樣本位置的過程。
在圖7A中,當視差矢量表示子像素位置時,層間視頻編碼設(shè)備10可通過使用與子像素位置相鄰的整數(shù)像素位置來確定第一層參考位置,以降低計算復雜性。換言之,第一層參考位置可以是與視差矢量表示的子像素相鄰的整數(shù)像素的位置。
參考圖7A,示出第一層圖像的參考塊71。參考塊71可以是4×4的塊。層間視頻解碼設(shè)備20可將具有與第二層當前塊的視差矢量所表示的位置對應的左上角位置的塊確定為參考塊71。
在這種情況下,層間視頻解碼設(shè)備20可將基于視差矢量所表示的位置的整數(shù)像素位置確定為參考位置73,并且基于參考位置73來確定第一層相鄰像素位置。
換言之,當視差矢量所表示的位置是子像素位置時,層間視頻解碼設(shè)備20可將與子像素位置最靠近的整數(shù)像素位置確定為參考位置73。這個原理可以與上文參考圖6B描述的方法相同?;蛘?,根據(jù)上文參考圖6A或圖6C描述的方法,層間視頻解碼設(shè)備20可將基于視差矢量所表示的位置的整數(shù)像素位置確定為參考位置73。
第一層相鄰像素位置可以是整數(shù)像素位置,它的x分量值或y分量值比參考位置73的分量值小1。在這種情況下,第一層相鄰像素位置可以不是與第一層參考塊71的頂部或左側(cè)最靠近的整數(shù)像素位置。
根據(jù)另一實施方式,在圖7B中,當視差矢量表示子像素位置時,層間視頻解碼設(shè)備20可通過使用由視差矢量表示的子像素位置來確定參考位置,以提高光照補償參數(shù)的精度,因此提高編碼效率。換言之,第一層參考位置可以是由視差矢量表示的子像素位置。
參考圖7B,示出第一層圖像的參考塊75。參考塊75可以是4×4的塊。層間視頻解碼設(shè)備20可將具有與第二層當前塊的視差矢量所表示的位置對應的左上角位置的塊確定為參考塊75。
換言之,即使在視差矢量表示子像素位置時,與第二層當前塊對應的第一層參考塊被確定為具有與子像素位置對應的左上角位置的塊,第一層相鄰像素位置也可基于子像素位置進行確定,因此,可提高光照補償參數(shù)的精度。
層間視頻解碼設(shè)備20可將視差矢量表示的位置確定為參考位置77,并且基于參考位置77來確定第一層相鄰像素位置。換言之,當視差矢量所表示的位置是子像素位置時,層間視頻解碼設(shè)備20可將子像素位置確定為參考位置77。
第一層相鄰像素位置可以是子像素位置,它的x分量值或y分量值比參考位置77的分量值小1。
圖7C示出根據(jù)各種實施方式確定參考位置以確定第一層相鄰樣本值的方法的示例。
當?shù)诙赢斍皦K的視差矢量表示的位置是子像素位置時,根據(jù)各種實施方式的層間視頻解碼設(shè)備20可將子像素位置確定為參考位置,并且基于參考位置來確定第一層相鄰樣本位置。在這種情況下,第一層相鄰樣本位置可以是子像素位置。
參考圖7C,當視差矢量表示的參考位置是子像素位置時,根據(jù)各種實施方式的層間視頻解碼設(shè)備20可通過使用如下列偽代碼所示的整數(shù)坐標(xRLX,yRLX)和分數(shù)坐標(xFrac,yFrac)來表示參考位置。
xRLX=xC+((mvLX[0])>>(2+(cIdx?1:0)))
yRLX=y(tǒng)C+((mvLX[1])>>(2+(cIdx?1:0)))
xFrac=mvLX[0]&(cIdx?7:3)
yFrac=mvLX[1]&(cIdx?7:3)
在上述偽代碼中,mvLX[0]和mvLX[1]可表示視差矢量的x分量和y分量,(xC,yC)可表示當前塊的位置坐標,以及cIdx在值為0時可表示Y分量或深度圖、在值為1時可表示U分量,并且在值為2時可表示V分量。亮度塊和色度塊具有不同的尺寸,因此可具有整數(shù)像素之間的不同距離。因此,當視差矢量表示子像素時,確定參考位置的方法可基于條件句“cIdx?1:0”表示亮度塊還是色度塊而不同。
參考圖7C,示出與第一層參考位置相鄰的整數(shù)像素樣本A、B、C和D。層間視頻解碼設(shè)備20可基于視差矢量表示的參考位置、通過使用參考位置的整數(shù)坐標(xRLX,yRLX)和分數(shù)坐標(xFrac,yFrac)以及與參考位置相鄰的整數(shù)像素樣本A、B、C和D來確定第一層相鄰樣本值(refSample)。第一層相鄰樣本值(refSample)可計算成如下列偽代碼所示。
refSample=((w-xFrac)*(w-yFrac)*refSampleList[4*i]+xFrac*(w-yFrac)*refSampleList[4*i+1]+(w-xFrac)*yFrac*refSampleList[4*i+2]+xFrac*yFrac*refSampleList[4*i+3]+(cIdx==0?8:32))>>(cIdx==0?4:6)
在上述偽代碼中,w表示基于子像素單元的1×1的塊的尺寸,并且當cIdx的值為0時可具有值4,而當cIdx的值不為0時可具有值8。此外,cIdx在值為0時可表示Y分量或深度圖、在值為1時可表示U分量,并且在值為2時可表示V分量。此外,i可具有0到(光照補償樣本列表中包括的樣本數(shù)量/2)-1范圍內(nèi)的值。另外,refSampleList[4*i]、refSampleList[4*i+1]、refSampleList[4*i+2]和refSampleList[4*i+3]可以分別是位置A、B、C和D的樣本值。
當視差矢量表示子像素位置時,層間視頻解碼設(shè)備20可將子像素位置確定為參考位置,并且使用基于參考位置確定的相鄰樣本值,從而提高光照補償參數(shù)的精度并且提高編碼效率。
盡管在圖7A到圖7C中,層間視頻解碼設(shè)備20確定第一層參考位置,但本領(lǐng)域普通技術(shù)人員將理解,上文參考圖7A到圖7C描述的方法也適用于層間視頻編碼設(shè)備10。
如上文所述,根據(jù)實施方式的層間視頻編碼設(shè)備10和根據(jù)實施方式的層間視頻解碼設(shè)備20可將視頻數(shù)據(jù)的塊分割成具有樹形結(jié)構(gòu)的編碼單元,并且編碼單元、預測單元和變換單元可用于編碼單元的層間預測或幀間預測。在下文中,將參考圖8到圖20描述根據(jù)實施方式的基于具有樹形結(jié)構(gòu)的編碼單元和變換單元的視頻編碼方法、視頻編碼設(shè)備、視頻解碼方法和視頻解碼設(shè)備。
原則上,在針對多層視頻的編碼和解碼過程期間,分別執(zhí)行針對第一層圖像的編碼和解碼過程與針對第二層圖像的編碼和解碼過程。換言之,當在多層視頻上執(zhí)行層間預測時,可手動參考單層視頻的編碼和解碼結(jié)果,但根據(jù)單層視頻執(zhí)行不同的編碼和解碼過程。
因此,由于為便于描述,下文參考圖8到圖20描述的基于具有樹形結(jié)構(gòu)的編碼單元的視頻編碼和解碼過程是用于處理單層視頻的視頻編碼和解碼過程,所以只執(zhí)行幀間預測和運動補償。然而,如上文參考圖1A到圖7B所述,為了對視頻流進行編碼和解碼,在基礎(chǔ)層圖像和第二層圖像上執(zhí)行層間預測和補償。
因此,為了讓根據(jù)實施方式的層間視頻編碼設(shè)備10的編碼器12基于具有樹形結(jié)構(gòu)的編碼單元對多層視頻進行編碼,層間視頻編碼設(shè)備10可包括與多層視頻的層的數(shù)量一樣多的圖8的視頻編碼設(shè)備100,從而根據(jù)每個單層視頻來執(zhí)行視頻編碼,進而控制每個視頻編碼設(shè)備100對分配的單層視頻進行編碼。此外,層間視頻編碼設(shè)備10可通過使用每個視頻編碼設(shè)備100的各個單一視角的編碼結(jié)果來執(zhí)行視點間預測。因此,層間視頻編碼設(shè)備10的編碼器12可生成基本視點視頻流和第二層視頻流,其包括根據(jù)層的編碼結(jié)果。
類似地,為了讓根據(jù)實施方式的層間視頻解碼設(shè)備20的解碼器24基于具有樹形結(jié)構(gòu)的編碼單元對多層視頻進行解碼,層間視頻解碼設(shè)備20可包括與多層視頻的層的數(shù)量一樣多的圖9的視頻解碼設(shè)備200,從而根據(jù)層來對所接收的第一層視頻流和所接收的第二層視頻流執(zhí)行視頻解碼,進而控制每個視頻解碼設(shè)備200對分配的單層視頻進行解碼。此外,層間視頻解碼設(shè)備20可通過使用每個視頻解碼設(shè)備200的各個單層的解碼結(jié)果來執(zhí)行層間補償。因此,層間視頻解碼設(shè)備20的解碼器24可生成根據(jù)層來重建的第一層圖像和第二層圖像。
圖8是根據(jù)本公開的實施方式的基于根據(jù)樹形結(jié)構(gòu)的編碼單元的視頻編碼設(shè)備100的框圖。
根據(jù)實施方式的基于根據(jù)樹形結(jié)構(gòu)的編碼單元的、涉及視頻預測的視頻編碼設(shè)備100包括最大編碼單元分割器110、編碼單元確定器120和輸出單元130。在下文中,為便于描述,基于根據(jù)樹形結(jié)構(gòu)的編碼單元的、涉及視頻預測的視頻編碼設(shè)備100將簡稱為“視頻編碼設(shè)備100”。
編碼單元確定器120可基于最大編碼單元來分割當前圖片,所述最大編碼單元是具有圖像的當前圖片的最大尺寸的編碼單元。如果當前圖片大于最大編碼單元,那么當前圖片的圖像數(shù)據(jù)可被分割成至少一個最大編碼單元。根據(jù)實施方式的最大編碼單元可以是具有32×32、64×64、128×128、256×256等尺寸的數(shù)據(jù)單元,其中數(shù)據(jù)單元的形狀是具有2的平方的寬度和長度的正方形。
根據(jù)實施方式的編碼單元的特征可以是最大尺寸和深度。深度表示編碼單元從最大編碼單元空間分割的次數(shù),并且隨著深度加深,根據(jù)深度的較深編碼單元可從最大編碼單元分割到最小編碼單元。最大編碼單元的深度是最大深度,并且最小編碼單元的深度是最小深度。由于對應于每個深度的編碼單元的尺寸隨著最大編碼單元的深度加深而減小,因此,對應于較淺深度的編碼單元可包括對應于較深深度的多個編碼單元。
如上文所述,當前圖片的圖像數(shù)據(jù)根據(jù)編碼單元的最大尺寸分割成最大編碼單元,并且最大編碼單元中的每個可包括根據(jù)深度分割的較深編碼單元。由于根據(jù)實施方式的最大編碼單元根據(jù)深度進行分割,因此,最大編碼單元中包括的空間域的圖像數(shù)據(jù)可根據(jù)深度進行分層分類。
限制最大編碼單元的高度和寬度進行分層分割的總次數(shù)的編碼單元的最大深度和最大尺寸可以預先確定。
編碼單元確定器120對通過根據(jù)深度分割最大編碼單元的區(qū)域而獲得的至少一個分割區(qū)域進行編碼,并且根據(jù)至少一個分割區(qū)域確定輸出最終編碼的圖像數(shù)據(jù)的深度。換言之,通過根據(jù)當前圖片的最大編碼單元對根據(jù)深度的較深編碼單元中的圖像數(shù)據(jù)進行編碼并且選擇具有最小編碼誤差的深度,編碼單元確定器120確定最終深度。所確定的最終深度和根據(jù)所確定的編碼深度的編碼圖像數(shù)據(jù)輸出到輸出單元130。
最大編碼單元中的圖像數(shù)據(jù)基于與等于或小于最大深度的至少一個深度對應的較深編碼單元進行編碼,并且對圖像數(shù)據(jù)進行編碼的結(jié)果基于較深編碼單元中的每個進行比較。在比較較深編碼單元的編碼誤差之后,可選擇具有最小編碼誤差的深度。針對每個最大編碼單元,可選擇至少一個最終深度。
隨著編碼單元根據(jù)深度進行分層分割,并且隨著編碼單元的數(shù)量增加,最大編碼單元的尺寸被分割。此外,即使編碼單元對應于一個最大編碼單元中的相同深度,也要通過分別測量每個編碼單元的圖像數(shù)據(jù)的編碼誤差來確定是否將對應于相同深度的編碼單元中的每個編碼單元分割到較深深度。因此,即使在圖像數(shù)據(jù)被包括在一個最大編碼單元中時,編碼誤差也可根據(jù)一個最大編碼單元中的區(qū)域而不同,因此,最終深度可根據(jù)圖像數(shù)據(jù)中的區(qū)域而不同。因此,在一個最大編碼單元中可確定一個或多個最大深度,并且最大編碼單元的圖像數(shù)據(jù)可根據(jù)至少一個最終深度的編碼單元分開。
因此,根據(jù)實施方式的編碼單元確定器120可確定最大編碼單元中包括的具有樹形結(jié)構(gòu)的編碼單元。根據(jù)實施方式的“具有樹形結(jié)構(gòu)的編碼單元”包括在最大編碼單元包括的所有較深編碼之中的、與確定為最終深度的深度對應的編碼單元。最終深度的編碼單元可根據(jù)最大編碼單元的相同區(qū)域中的深度來分層確定,并且可在不同區(qū)域中獨立確定。類似地,當前區(qū)域中的最終深度可獨立于另一區(qū)域中的最終深度進行確定。
根據(jù)實施方式的最大深度是與從最大編碼單元到最小編碼單元的分割次數(shù)相關(guān)的索引。根據(jù)實施方式的第一最大深度可表示從最大編碼單元到最小編碼單元的總分割次數(shù)。根據(jù)實施方式的第二最大深度可表示從最大編碼單元到最小編碼單元的深度等級的總數(shù)。例如,當最大編碼單元的深度為0時,最大編碼單元被分割一次的編碼單元的深度可設(shè)置為1,并且最大編碼單元被分割兩次的編碼單元的深度可設(shè)置為2。在這種情況下,如果最小編碼單元是最大編碼單元被分割四次的編碼單元,那么存在深度0、1、2、3和4的深度等級,因此,第一最大深度可設(shè)置為4,并且第二最大深度可設(shè)置為5。
預測編碼和變換可根據(jù)最大編碼單元來執(zhí)行。預測編碼和變換也根據(jù)最大編碼單元基于根據(jù)等于或小于最大深度的深度的較深編碼單元來執(zhí)行。
由于每當最大編碼單元根據(jù)深度分割時較深編碼單元的數(shù)量都增加,因此,在隨著深度加深而生成的所有較深編碼單元上執(zhí)行包括預測編碼和變換在內(nèi)的編碼。為便于描述,現(xiàn)在將基于當前深度的編碼單元在最大編碼單元中描述預測編碼和變換。
根據(jù)實施方式的視頻編碼設(shè)備100可不同地選擇用于對圖像數(shù)據(jù)進行編碼的數(shù)據(jù)單元的尺寸或形狀。為了對圖像數(shù)據(jù)進行編碼,執(zhí)行諸如預測編碼、變換和熵編碼的操作,并且同時,可將相同的數(shù)據(jù)單元用于所有操作或者將不同的數(shù)據(jù)單元用于每個操作。
例如,視頻編碼設(shè)備100不僅可選擇用于對圖像數(shù)據(jù)進行編碼的編碼單元,而且可選擇不同于編碼單元的數(shù)據(jù)單元,從而在編碼單元中的圖像數(shù)據(jù)上執(zhí)行預測編碼。
為了在最大編碼單元中執(zhí)行預測編碼,可基于根據(jù)實施方式的與最終深度對應的編碼單元(即,基于不再分割成對應于較深深度的編碼單元的編碼單元)執(zhí)行預測編碼。在下文中,不再進行分割并且成為用于預測編碼的基礎(chǔ)單元的編碼單元現(xiàn)在將被稱為“預測單元”。通過分割預測單元而獲得的分區(qū)可包括預測單元和通過分割預測單元的高度和寬度中的至少一個而獲得的數(shù)據(jù)單元。分區(qū)是編碼單元的預測單元被分割的數(shù)據(jù)單元,并且預測單元可以是與編碼單元具有相同尺寸的分區(qū)。
例如,當2N×2N(其中N是正整數(shù))的編碼單元不再分割并且成為2N×2N的預測單元時,分區(qū)的尺寸可以是2N×2N、2N×N、N×2N或N×N。根據(jù)實施方式的分區(qū)模式的示例可選擇性地包括通過對稱地分割預測單元的高度或?qū)挾榷@得的對稱分區(qū)、通過不對稱地分割預測單元的高度或?qū)挾?諸如1:n或n:1)而獲得的分區(qū)、通過幾何分割預測單元而獲得的分區(qū)以及具有任意形狀的分區(qū)。
預測單元的預測模式可以是幀內(nèi)模式(Intra Mode)、幀間模式(Inter Mode)和跳躍模式(Skip Mode)中的至少一個。例如,幀內(nèi)模式或幀間模式可在2N×2N、2N×N、N×2N或N×N的分區(qū)上執(zhí)行。此外,跳躍模式可以只在2N×2N的分區(qū)上執(zhí)行。編碼在編碼單元中的一個預測單元上獨立執(zhí)行,從而選擇具有最小編碼誤差的預測模式。
根據(jù)實施方式的視頻編碼設(shè)備100也可不僅基于用于對圖像數(shù)據(jù)進行編碼的編碼單元而且基于不同于編碼單元的數(shù)據(jù)單元而在編碼單元中的圖像數(shù)據(jù)上執(zhí)行變換。為了在編碼單元中執(zhí)行變換,可基于具有小于或等于編碼單元的尺寸的變換單元來執(zhí)行變換。例如,變換單元可包括用于幀內(nèi)模式的數(shù)據(jù)單元和用于幀間模式的變換單元。
根據(jù)實施方式,編碼單元中的變換單元可按與編碼單元根據(jù)樹形結(jié)構(gòu)進行分割的類似方式遞歸地分割成更小尺寸的區(qū)域。因此,編碼單元中的殘余數(shù)據(jù)可根據(jù)具有樹形結(jié)構(gòu)的變換單元依據(jù)變換深度進行分割。
根據(jù)實施方式,表明通過分割編碼單元的高度和寬度來達到變換單元的分割次數(shù)的變換深度也可設(shè)置在變換單元中。例如,在2N×2N的當前編碼單元中,當變換單元的尺寸是2N×2N時變換深度可為0,當變換單元的尺寸是N×N時變換深度可為1,以及當變換單元的尺寸是N/2×N/2時變換深度可為2。換言之,具有樹形結(jié)構(gòu)的變換單元可根據(jù)變換深度進行設(shè)置。
根據(jù)深度的分割信息不僅需要與深度有關(guān)的信息,而且需要與預測編碼和變換相關(guān)的信息。因此,編碼單元確定器120不僅確定具有最小編碼誤差的深度,而且確定將預測單元分割成分區(qū)的分區(qū)模式、根據(jù)預測單元的預測模式以及用于變換的變換單元的尺寸。
下文將參考圖9到圖19詳細描述根據(jù)各種實施方式的最大編碼單元中的根據(jù)樹形結(jié)構(gòu)的編碼單元以及確定預測單元/分區(qū)和變換單元的方法。
編碼單元確定器120可通過使用基于拉格朗日乘子的率失真優(yōu)化(Rate-Distortion Optimization)來測量根據(jù)深度的較深編碼單元的編碼誤差。
輸出單元130以比特流的形式輸出基于由編碼單元確定器120確定的至少一個深度進行編碼的最大編碼單元的圖像數(shù)據(jù)以及根據(jù)深度的分割信息。
通過對圖像的殘余數(shù)據(jù)進行編碼可獲得編碼的圖像數(shù)據(jù)。
根據(jù)深度的分割信息可包括與深度有關(guān)的信息、與預測單元中的分區(qū)模式有關(guān)的信息、與預測模式有關(guān)的信息以及與變換單元的分割有關(guān)的信息。
與最終深度有關(guān)的信息可通過使用根據(jù)深度的分割信息進行限定,從而表明是否在較深深度而非當前深度的編碼單元上執(zhí)行編碼。如果當前編碼單元的當前深度是深度,那么對當前編碼單元進行編碼,因此,分割信息可限定為不將當前編碼單元分割到較深深度。另一方面,如果當前編碼單元的當前深度不是該深度,那么在較深深度的編碼單元上執(zhí)行編碼,因此,分割信息可限定為分割當前編碼單元,以獲取較深深度的編碼單元。
如果當前深度不是該深度,那么在分割成較深深度的編碼單元的編碼單元上執(zhí)行編碼。由于較深深度的至少一個編碼單元存在于當前深度的一個編碼單元中,因此,可在較深深度的每個編碼單元上重復執(zhí)行編碼,從而可針對具有相同深度的編碼單元遞歸地執(zhí)行編碼。
由于針對一個最大編碼單元確定具有樹形結(jié)構(gòu)的編碼單元并且針對深度的編碼單元確定分割信息,因此,可針對一個最大編碼單元確定至少一項分割信息。此外,最大編碼單元的圖像數(shù)據(jù)的深度可根據(jù)位置而不同,這是因為圖像數(shù)據(jù)根據(jù)深度進行分層分割,因此,可針對圖像數(shù)據(jù)來設(shè)置深度和分割信息。
因此,根據(jù)實施方式的輸出單元130可將與編碼模式有關(guān)的編碼信息和對應深度分配到最大編碼單元中包括的編碼單元、預測單元和最小單元中的至少一個。
根據(jù)實施方式的最小單元是通過將構(gòu)成最深深度的最小編碼單元分割成4個而獲得的正方形數(shù)據(jù)單元。或者,根據(jù)實施方式的最小單元可以是可被包括在最大編碼單元所包括的編碼單元、預測單元、分區(qū)單元和變換單元的全部中的最大正方形數(shù)據(jù)單元。
例如,由輸出單元130輸出的編碼信息可分類成根據(jù)較深編碼單元的編碼信息和根據(jù)預測單元的編碼信息。根據(jù)較深編碼單元的編碼信息可包括與預測模式有關(guān)的信息和與分區(qū)的尺寸有關(guān)的信息。根據(jù)預測單元的編碼信息可包括與幀間模式的估計方向有關(guān)的信息、與幀間模式的參考圖像索引有關(guān)的信息、與運動矢量有關(guān)的信息、與幀內(nèi)模式的色度分量有關(guān)的信息以及與幀內(nèi)模式的內(nèi)插法有關(guān)的信息。
與根據(jù)圖片、截片或GOP限定的編碼單元的最大尺寸有關(guān)的信息以及與最大深度的有關(guān)信息可插入到比特流的標頭、序列參數(shù)集或圖像參數(shù)集中。
與當前視頻準許的變換單元的最大尺寸的有關(guān)信息以及與變換單元的最小尺寸有關(guān)的信息也可通過比特流的標頭、序列參數(shù)集或圖片參數(shù)集輸出。輸出單元130可對與預測相關(guān)的參考信息、預測信息和截片類型信息進行編碼并輸出這些信息。
在根據(jù)最簡單實施方式的視頻編碼設(shè)備100中,較深編碼單元可以是通過將較淺深度的編碼單元(上一層的編碼單元)的高度或?qū)挾纫环譃槎玫降木幋a單元。換言之,在當前深度的編碼單元的尺寸是2N×2N時,較深深度的編碼單元的尺寸是N×N。此外,具有2N×2N尺寸的當前編碼單元可最大包括四個均具有N×N尺寸的較深深度編碼單元。
因此,通過基于最大編碼單元的尺寸和考慮到當前圖片的特征而確定的最大深度來確定每個最大編碼單元的具有最佳形狀和最佳尺寸的編碼單元,視頻編碼設(shè)備100可形成具有樹形結(jié)構(gòu)的編碼單元。此外,由于可通過使用各種預測模式和變換中的任一個在每個最大編碼單元上執(zhí)行編碼,因此,可根據(jù)各種圖像尺寸的編碼單元的特征來確定最佳編碼模式。
因此,如果具有高分辨率或大數(shù)據(jù)量的圖像在傳統(tǒng)宏塊中編碼,那么每個圖片的宏塊數(shù)量過度增加。因此,針對每個宏塊生成的壓縮信息的數(shù)量增加,因而難以傳輸壓縮的信息并且數(shù)據(jù)壓縮效率降低。然而,通過使用根據(jù)實施方式的視頻編碼設(shè)備100,圖像壓縮效率可能增加,這是因為在考慮圖像的特征同時調(diào)整編碼單元,同時考慮圖像的尺寸而增大編碼單元的最大尺寸。
上文參考圖1A描述的層間視頻編碼設(shè)備10可包括與層的數(shù)量一樣多的視頻編碼設(shè)備100,從而根據(jù)多層視頻的層對單層圖像進行編碼。例如,第一層編碼器12可包括一個視頻編碼設(shè)備100,并且第二層編碼器14可包括與第二層的數(shù)量一樣多的視頻編碼設(shè)備100。
當視頻編碼設(shè)備100對第一層圖像進行編碼時,編碼單元確定器120可針對每個最大編碼單元來確定用于根據(jù)具有樹形結(jié)構(gòu)的編碼單元進行幀間預測的預測單元,并且根據(jù)預測單元來執(zhí)行幀間預測。
即使在視頻編碼設(shè)備100對第二層圖像進行編碼時,編碼單元確定器120也可針對每個最大編碼單元來確定具有樹形結(jié)構(gòu)的編碼單元和預測單元,并且根據(jù)預測單元來執(zhí)行幀間預測。
視頻編碼設(shè)備100可對亮度差進行編碼,以補償?shù)谝粚訄D像與第二層圖像之間的亮度差。然而,可根據(jù)編碼單元的編碼模式來確定是否執(zhí)行亮度。例如,可以只在具有2N×2N尺寸的預測單元上執(zhí)行亮度補償。
圖9是根據(jù)各種實施方式的基于根據(jù)樹形結(jié)構(gòu)的編碼單元的視頻解碼設(shè)備200的框圖。
根據(jù)實施方式的基于具有樹形結(jié)構(gòu)的編碼單元的、涉及視頻預測的視頻解碼設(shè)備200包括接收器210、圖像數(shù)據(jù)與編碼信息提取器220以及圖像數(shù)據(jù)解碼器230。為便于描述,根據(jù)實施方式的基于具有樹形結(jié)構(gòu)的編碼單元的、涉及視頻預測的視頻解碼設(shè)備200將簡稱為“視頻解碼設(shè)備200”。
根據(jù)實施方式,用于視頻解碼設(shè)備200的解碼操作的各種術(shù)語(諸如,編碼單元、深度、預測單元、變換單元和各種分割信息)的定義與參考圖8和視頻編碼設(shè)備100描述的那些定義相同。
接收器210接收并解析編碼視頻的比特流。圖像數(shù)據(jù)與編碼信息提取器220從解析的比特流中提取用于每個編碼單元的編碼圖像數(shù)據(jù),其中編碼單元具有根據(jù)每個最大編碼單元的樹形結(jié)構(gòu),并且將提取的圖像數(shù)據(jù)輸出到圖像數(shù)據(jù)解碼器230。圖像數(shù)據(jù)與編碼信息提取器220可從與當前圖片有關(guān)的標頭、序列參數(shù)集或圖片參數(shù)集中提取與當前圖片的編碼單元的最大尺寸有關(guān)的信息。
此外,圖像數(shù)據(jù)與編碼信息提取器220針對根據(jù)每個最大編碼單元的具有樹形結(jié)構(gòu)的編碼單元從解析的比特流中提取最終深度和分割信息。提取的最終深度和分割信息輸出到圖像數(shù)據(jù)解碼器230。換言之,比特流中的圖像數(shù)據(jù)分割成最大編碼單元,使得圖像數(shù)據(jù)解碼器230針對每個最大編碼單元將圖像數(shù)據(jù)解碼。
根據(jù)最大編碼單元的深度和分割信息可針對至少一項深度信息進行設(shè)置,并且分割信息可包括與對應編碼單元的分區(qū)模式有關(guān)的信息、與預測模式有關(guān)的信息以及與變換單元的分割有關(guān)的信息。此外,根據(jù)深度的分割信息可被提取為與深度有關(guān)的信息。
由圖像數(shù)據(jù)與編碼信息提取器220提取的根據(jù)每個最大編碼單元的深度和分割信息是被確定當諸如根據(jù)實施方式的視頻編碼設(shè)備100等編碼器根據(jù)每個最大編碼單元針對根據(jù)深度的每個較深編碼單元重復執(zhí)行編碼時會生成最小編碼誤差的深度和分割信息。因此,視頻解碼設(shè)備200可通過根據(jù)生成最小編碼誤差的編碼深度和編碼模式對圖像數(shù)據(jù)進行解碼來重建圖像。
由于根據(jù)實施方式,與深度和編碼模式有關(guān)的編碼信息可分配到對應編碼單元、預測單元和最小單元之中的預定數(shù)據(jù)單元,因此,圖像數(shù)據(jù)與編碼信息提取器220可根據(jù)預定數(shù)據(jù)單元提取深度和分割信息。如果對應最大編碼單元的深度和分割信息根據(jù)預定數(shù)據(jù)單元進行記錄,那么可以推斷,被分配相同深度和相同分割信息的預定數(shù)據(jù)單元就是相同最大編碼單元中包括的數(shù)據(jù)單元。
圖像數(shù)據(jù)解碼器230可通過基于根據(jù)最大編碼單元的深度和分割信息將每個最大編碼單元中的圖像數(shù)據(jù)解碼來重建當前圖片。換言之,圖像數(shù)據(jù)解碼器230可基于與每個最大編碼單元中包括的具有樹形結(jié)構(gòu)的編碼單元之中的每個編碼單元的分區(qū)模式、預測模式和變換單元有關(guān)的提取信息對編碼的圖像數(shù)據(jù)進行解碼。解碼過程可包括預測和逆變換,所述預測包括幀內(nèi)預測和運動補償。
基于與根據(jù)深度的編碼單元的預測單元的分區(qū)模式和預測模式有關(guān)的信息,圖像數(shù)據(jù)解碼器230可根據(jù)每個編碼單元的分區(qū)和預測模式來執(zhí)行幀內(nèi)預測或運動補償。
此外,圖像數(shù)據(jù)解碼器230可讀取與用于每個編碼單元的根據(jù)樹形結(jié)構(gòu)的變換單元有關(guān)的信息,從而基于每個編碼單元的變換單元來執(zhí)行逆變換,從而針對每個最大編碼單元進行逆變換。經(jīng)由逆變換,可重建編碼單元的空間域的像素值。
圖像數(shù)據(jù)解碼器230可通過使用根據(jù)深度的分割信息來確定當前最大編碼單元的深度。如果分割信息表明圖像數(shù)據(jù)不再以當前深度分割,那么當前深度就是深度。因此,圖像數(shù)據(jù)解碼器230可通過使用與預測單元的分區(qū)模式、預測模式信息和變換單元的尺寸有關(guān)的信息來對當前最大編碼單元中的編碼數(shù)據(jù)進行解碼。
換言之,通過觀察分配給編碼單元、預測單元和最小單元之中的預定數(shù)據(jù)單元的編碼信息集,可收集含有包括相同分割信息的編碼信息的數(shù)據(jù)單元,并且可將收集的數(shù)據(jù)單元視作將由圖像數(shù)據(jù)解碼器230以相同編碼模式解碼的一個數(shù)據(jù)單元。因此,可通過獲取與用于每個編碼單元的編碼模式有關(guān)的信息來對當前編碼單元進行解碼。
上文參考圖2A描述的層間視頻解碼設(shè)備20可包括與視角的數(shù)量一樣多數(shù)量的視頻解碼設(shè)備200,從而通過對所接收的第一層圖像流和所接收的第二層圖像流進行解碼來重建第一層圖像和第二層圖像。
當接收到第一層圖像流時,視頻解碼設(shè)備200的圖像數(shù)據(jù)解碼器230可將由圖像數(shù)據(jù)與編碼信息提取器220從第一層圖像流中提取的第一層圖像的樣本分割成具有樹形結(jié)構(gòu)的編碼單元。圖像數(shù)據(jù)解碼器230可通過根據(jù)用于幀間預測的預測單元在通過分割第一層圖像的樣本而獲取的具有樹形結(jié)構(gòu)的編碼單元上執(zhí)行運動補償來重建第一層圖像。
當接收到第二層圖像流時,視頻解碼設(shè)備200的圖像數(shù)據(jù)解碼器230可將由圖像數(shù)據(jù)與編碼信息提取器220從第二層圖像流中提取的第二層圖像的樣本分割成具有樹形結(jié)構(gòu)的編碼單元。圖像數(shù)據(jù)解碼器230可通過根據(jù)用于幀間預測的預測單元在通過分割第二層圖像的樣本而獲取的編碼單元上執(zhí)行運動補償來重建第二層圖像。
提取器220可從比特流中獲取與亮度誤差相關(guān)的信息,從而補償?shù)谝粚訄D像與第二層圖像之間的亮度差。然而,可根據(jù)編碼單元的編碼模式來確定是否執(zhí)行亮度。例如,可以只在具有2N×2N尺寸的預測單元上執(zhí)行亮度補償。
因此,視頻解碼設(shè)備200可獲取與在針對每個最大編碼單元遞歸地執(zhí)行編碼時生成最小編碼誤差的至少一個編碼單元有關(guān)的信息,并且可使用該信息來對當前圖片進行解碼。換言之,可對確定是每個最大編碼單元中的最佳編碼單元的、具有樹形結(jié)構(gòu)的編碼單元進行解碼。
因此,即使圖像數(shù)據(jù)具有高分辨率和大量數(shù)據(jù),圖像數(shù)據(jù)仍可通過使用編碼單元的尺寸和編碼模式來高效解碼和重建,所述編碼單元的尺寸和編碼模式是通過使用從編碼器接收的最佳分割信息根據(jù)圖像數(shù)據(jù)的特征而自適應地確定的。
圖10是用于描述根據(jù)各種實施方式的編碼單元的概念的示意圖。
編碼單元的尺寸可由寬度×高度來表示,并且可以是64×64、32×32、16×16和8×8。64×64的編碼單元可分割成64×64、64×32、32×64或32×32的分區(qū),并且32×32的編碼單元可分割成32×32、32×16、16×32或16×16的分區(qū),16×16的編碼單元可分割成16×16、16×8、8×16或8×8的分區(qū),以及8×8的編碼單元可分割成8×8、8×4、4×8或4×4的分區(qū)。
在視頻數(shù)據(jù)310中,分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是2。在視頻數(shù)據(jù)320中,分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是3。在視頻數(shù)據(jù)330中,分辨率是352×288,編碼單元的最大尺寸是16,并且最大深度是1。圖10所示的最大深度是指從最大編碼單元到最小編碼單元的總分割次數(shù)。
如果分辨率較高或數(shù)據(jù)量較大,那么編碼單元的最大尺寸可較大,從而不僅增加編碼效率,而且準確反映圖像的特征。因此,分辨率比視頻數(shù)據(jù)330高的視頻數(shù)據(jù)310和320的編碼單元的最大尺寸可以是64。
由于視頻數(shù)據(jù)310的最大深度是2,因此,視頻數(shù)據(jù)315的編碼單元310可包括長軸尺寸為64的最大編碼單元,以及長軸尺寸為32和16的編碼單元,這是因為通過將最大編碼單元分割兩次,深度加深兩個層。由于視頻數(shù)據(jù)330的最大深度是1,因此,視頻數(shù)據(jù)330的編碼單元335可包括長軸尺寸為16的最大編碼單元,以及長軸尺寸為8的編碼單元,這是因為通過將最大編碼單元分割一次,深度加深一層。
由于視頻數(shù)據(jù)320的最大深度是3,因此,視頻數(shù)據(jù)320的編碼單元325可包括長軸尺寸為64的最大編碼單元,以及長軸尺寸為32、16和8的編碼單元,這是因為通過將最大編碼單元分割三次,深度加深3個層。隨著深度加深,可準確地表達詳細信息。
圖11是根據(jù)各種實施方式的基于編碼單元的圖像編碼器400的框圖。
根據(jù)實施方式的圖像編碼器400執(zhí)行視頻編碼設(shè)備100的編碼單元確定器120的操作,以對圖像數(shù)據(jù)進行編碼。換言之,幀內(nèi)預測器420在當前幀405之中按照預測單元在編碼單元上以幀內(nèi)模式執(zhí)行幀內(nèi)預測,并且?guī)g預測器415通過使用當前圖像405和由重建圖片緩存器410獲取的參考圖像按照預測單元在編碼單元上以幀間模式執(zhí)行幀間預測。當前圖片405可被分割成最大編碼單元,隨后最大編碼單元可相繼被編碼。此處,可在最大編碼單元中的以樹形結(jié)構(gòu)分割的編碼單元上執(zhí)行編碼。
通過從待編碼的當前圖像405的數(shù)據(jù)中減去從幀內(nèi)預測器420或幀間預測器415中輸出的每個模式的編碼單元的預測數(shù)據(jù),生成殘余數(shù)據(jù),并且殘余數(shù)據(jù)作為經(jīng)量化的變換系數(shù)通過變換器425和量化器430按照變換單元輸出。經(jīng)量化的變換系數(shù)通過反量化器445和逆變換器450而恢復成空間域中的數(shù)據(jù)。將空間域中的殘余數(shù)據(jù)添加到從幀內(nèi)預測器420或幀間預測器415中輸出的每個模式的編碼單元的預測數(shù)據(jù),從而恢復成當前圖像405的編碼單元的空間域中的數(shù)據(jù)??臻g域中的數(shù)據(jù)經(jīng)過去塊化器455和樣本自適應偏移(SAO)執(zhí)行器460,因而生成恢復的圖像。恢復的圖像存儲在重建圖片緩存器410中。存儲在重建圖片緩存器410中的所恢復的圖像可用作另一圖像的幀間預測的參考圖像。通過變換器425和量化器430獲取的經(jīng)量化的變換系數(shù)可通過熵編碼器435而輸出為比特流440。
為了將根據(jù)實施方式的圖像編碼器400應用于視頻編碼設(shè)備100,圖像編碼器400的部件(即,幀間預測器415、幀內(nèi)預測器420、變換器425、量化器430、熵編碼器435、反量化器445、逆變換器450、去塊化單元455和SAO執(zhí)行器460)基于每個最大編碼單元的具有樹形結(jié)構(gòu)的編碼單元之中的每個編碼單元來執(zhí)行操作。
具體而言,幀內(nèi)預測器420和幀間預測器415在考慮當前最大編碼單元的最大尺寸和最大深度的同時確定具有樹形結(jié)構(gòu)的編碼單元之中的每個編碼單元的分區(qū)和預測模式,并且變換器425可確定是否根據(jù)具有樹形結(jié)構(gòu)的編碼單元之中的每個編碼單元中的四叉樹來分割變換單元。
圖12是根據(jù)各種實施方式的基于編碼單元的圖像解碼器500的框圖。
熵解碼器515對來自比特流505的將被解碼的編碼圖像數(shù)據(jù)和解碼所需的編碼信息進行解析。編碼圖像數(shù)據(jù)是經(jīng)量化的變換系數(shù),并且反量化器520和逆變換器525從經(jīng)量化的變換系數(shù)中恢復殘余數(shù)據(jù)。
幀內(nèi)預測器540根據(jù)預測單元以幀內(nèi)模式在編碼單元上執(zhí)行幀內(nèi)預測。幀間預測器通過使用由重建圖片緩存器530獲取的參考圖像而根據(jù)預測單元在當前圖像中以幀內(nèi)模式在編碼單元上執(zhí)行幀間預測。
通過經(jīng)由幀內(nèi)預測器540和幀間預測器535添加每個模式的編碼單元的殘余數(shù)據(jù)和預測數(shù)據(jù)來恢復當前圖像的編碼單元的空間域中的數(shù)據(jù),并且可通過去塊化單元545和SAO執(zhí)行器550將空間域中的數(shù)據(jù)輸出為恢復的圖像。此外,可將存儲在重建圖片緩存器530的所恢復的圖像輸出為參考圖像。
為了對視頻解碼設(shè)備200的圖像數(shù)據(jù)解碼器230中的圖像數(shù)據(jù)進行解碼,可執(zhí)行根據(jù)實施方式的圖像解碼器500的熵解碼器515之后的操作。
為了將圖像解碼器500應用于根據(jù)實施方式的視頻解碼設(shè)備200,圖像解碼器500的部件(即,熵解碼器515、反量化器520、逆變換器525、幀內(nèi)預測器540、幀間預測器535、去塊化單元545和SAO執(zhí)行器550)可針對每個最大編碼單元基于具有樹形結(jié)構(gòu)的編碼單元來執(zhí)行操作。
具體而言,幀內(nèi)預測器540和幀間預測器535根據(jù)具有樹形結(jié)構(gòu)的編碼單元中的每個來確定分區(qū)模式和預測模式,并且逆變換器525可確定是否根據(jù)每個編碼單元的四叉樹來分割變換單元。
圖10的編碼操作和圖11的解碼操作分別是單個層中的視頻流編碼操作和視頻流解碼操作。因此,當圖1A的編碼器12對至少兩層的視頻流進行編碼時,圖1A的視頻編碼設(shè)備100可包括與層的數(shù)量一樣多的圖像編碼器400。類似地,當圖2A的解碼器24對至少兩層的視頻流進行解碼時,圖2A的視頻解碼設(shè)備200可包括與層的數(shù)量一樣多的圖像解碼器500。
圖13是示出根據(jù)各種實施方式的編碼單元和分區(qū)的示意圖。
根據(jù)實施方式的視頻編碼設(shè)備100和根據(jù)實施方式的視頻解碼設(shè)備200使用分層編碼單元,從而考慮圖像的特征。編碼單元的最大高度、最大寬度和最大深度可根據(jù)圖像的特征而自適應地確定,或者可根據(jù)用戶需要而不同地設(shè)置。根據(jù)深度的較深編碼單元的尺寸可根據(jù)編碼單元的預定最大尺寸進行確定。
在根據(jù)實施方式的編碼單元的分層結(jié)構(gòu)600中,編碼單元的最大高度和最大寬度均是64,并且最大深度是3。在這種情況下,最大深度是指編碼單元從最大編碼單元分割到最小編碼單元的總次數(shù)。由于深度沿著根據(jù)實施方式的編碼單元的分層結(jié)構(gòu)600的豎直軸加深,因此,較深編碼單元的高度和寬度均被分割。此外,沿著分層結(jié)構(gòu)600的水平軸示出作為每個較深編碼單元的預測編碼的基礎(chǔ)的預測單元和分區(qū)。
換言之,編碼單元610是分層結(jié)構(gòu)600中的最大編碼單元,其中深度為0并且尺寸(即,高度乘寬度)為64×64。深度沿著豎直軸加深,而且編碼單元620的尺寸為32×32且深度為1,編碼單元630的尺寸為16×16且深度為2,以及編碼單元640的尺寸為8×8且深度為3。尺寸為8×8且深度為3的編碼單元640是最小編碼單元。
編碼單元的預測單元和分區(qū)根據(jù)每個深度沿著水平軸布置。換言之,如果尺寸為64×64且深度為0的編碼單元610是預測單元,那么預測單元可分割成尺寸為64×64的編碼單元610中包括的分區(qū),即,尺寸為64×64的分區(qū)610、尺寸為64×32的分區(qū)612、尺寸為32×64的分區(qū)614,或者尺寸為32×32的分區(qū)616。
同樣,尺寸為32×32且深度為1的編碼單元620的預測單元可分割成尺寸為32×32的編碼單元620中包括的分區(qū),即,尺寸為32×32的分區(qū)620、尺寸為32×16的分區(qū)622、尺寸為16×32的分區(qū)624以及尺寸為16×16的分區(qū)626。
同樣,尺寸為16×16且深度為2的編碼單元630的預測單元可分割成尺寸為16×16的編碼單元630中包括的分區(qū),即,編碼單元630中包括的尺寸為16×16的分區(qū)、尺寸為16×8的分區(qū)632、尺寸為8×16的分區(qū)634以及尺寸為8×8的分區(qū)636。
同樣,尺寸為8×8且深度為3的編碼單元640的預測單元可分割成尺寸為8×8的編碼單元640中包括的分區(qū),即,編碼單元640中包括的尺寸為8×8的分區(qū)、尺寸為8×4的分區(qū)642、尺寸為4×8的分區(qū)644以及尺寸為4×4的分區(qū)646。
為了確定最大編碼單元610的深度,根據(jù)實施方式的視頻編碼設(shè)備100的編碼單元確定器120針對最大編碼單元610中包括的與每個深度對應的編碼單元來執(zhí)行編碼。
包括相同范圍和相同尺寸的數(shù)據(jù)的、根據(jù)深度的較深編碼單元的數(shù)量隨著深度加深而增加。例如,需要四個對應于深度2的編碼單元來覆蓋一個對應于深度1的編碼單元中包括的數(shù)據(jù)。因此,為了將根據(jù)深度的相同數(shù)據(jù)的編碼結(jié)果進行比較,對應于深度1的編碼單元和對應于深度2的四個編碼單元均被編碼。
為了針對深度之中的當前深度執(zhí)行編碼,可通過沿著分層結(jié)構(gòu)600的水平軸、針對與當前深度對應的編碼單元中的每個預測單元執(zhí)行編碼,為當前深度選擇最小編碼誤差。或者,隨著深度沿著分層結(jié)構(gòu)600的豎直軸加深,可通過針對每個深度執(zhí)行編碼,根據(jù)深度來比較最小編碼誤差而搜索出最小編碼誤差。最大編碼單元610中具有最小編碼誤差的深度和分區(qū)可被選作最大編碼單元610的深度和分區(qū)模式。
圖14是用于描述根據(jù)各種實施方式的編碼單元與變換單元之間的關(guān)系的示意圖。
根據(jù)實施方式的視頻編碼設(shè)備100或根據(jù)實施方式的視頻解碼設(shè)備200根據(jù)每個最大編碼單元的、尺寸等于或小于最大編碼單元的編碼單元對圖像進行編碼或解碼。在編碼期間用于變換的變換單元的尺寸可基于不大于對應編碼單元的數(shù)據(jù)單元進行選擇。
例如,在根據(jù)實施方式的視頻編碼設(shè)備100或根據(jù)實施方式的視頻解碼設(shè)備200中,如果編碼單元710的尺寸是64×64,那么可通過使用尺寸為32×32的變換單元720來執(zhí)行變換。
此外,可通過在尺寸為32×32、16×16、8×8和4×4(都小于64×64)的變換單元中的每個上執(zhí)行變換,從而對尺寸為64×64的編碼單元710的數(shù)據(jù)進行編碼,并且隨后可選擇具有最小編碼誤差的變換單元。
圖15示出根據(jù)各種實施方式的多項編碼信息。
根據(jù)實施方式的視頻編碼設(shè)備100的輸出單元130可針對與深度對應的每個編碼單元來編碼并傳輸與分區(qū)模式有關(guān)的信息800、與預測模式有關(guān)的信息810和與變換單元的尺寸有關(guān)的信息820,以作為分割信息。
信息800表明與通過分割當前編碼單元的預測單元而獲得的分區(qū)的形狀的有關(guān)信息,其中分區(qū)是用于對當前編碼單元進行預測編碼的數(shù)據(jù)單元。例如,尺寸為2N×2N的當前編碼單元CU_0可分割成下列分區(qū)中的任一個:尺寸為2N×2N的分區(qū)802、尺寸為2N×N的分區(qū)804、尺寸為N×2N的分區(qū)806以及尺寸為N×N的分區(qū)808。在這種情況下,與當前編碼單元的分區(qū)類型有關(guān)的信息800設(shè)置成表示下列中的一個:尺寸為2N×N的分區(qū)804、尺寸為N×2N的分區(qū)806以及尺寸為N×N的分區(qū)808。
信息810表明每個分區(qū)的預測模式。例如,信息810可表明在由信息800表明的分區(qū)上執(zhí)行的預測編碼的模式,即,幀內(nèi)模式812、幀間模式814或跳躍模式816。
信息820表明在當前編碼單元上執(zhí)行變換時將依據(jù)的變換單元。例如,所述變換單元可以是第一幀內(nèi)變換單元822、第二幀內(nèi)變換單元824、第一幀間變換單元826或者第二幀間變換單元828。
根據(jù)實施方式的視頻解碼設(shè)備200的圖像數(shù)據(jù)與編碼信息提取器220可提取并使用信息800、810和820,以根據(jù)每個較深編碼單元進行解碼。
圖16是根據(jù)各種實施方式的根據(jù)深度的較深編碼單元的示意圖。
分割信息可用來表明深度的變化。分割信息表明當前深度的編碼單元是否分割成較深深度的編碼單元。
用于對深度為0且尺寸為2N_0×2N_0的編碼單元900進行預測編碼的預測單元910可包括下列分區(qū)類型的分區(qū):尺寸為2N_0×2N_0的分區(qū)模式912、尺寸為2N_0×N_0的分區(qū)模式914、尺寸為N_0×2N_0的分區(qū)模式916和尺寸為N_0×N_0的分區(qū)模式918。圖9只示出通過對稱地分割預測單元而獲取的分區(qū)912到918,但分區(qū)模式不限于此,并且預測單元的分區(qū)可包括不對稱分區(qū)、具有任意形狀的分區(qū)和具有幾何形狀的分區(qū)。
根據(jù)每個分區(qū)模式,在尺寸為2N_0×2N_0的一個分區(qū)、尺寸為2N_0×N_0的兩個分區(qū)、尺寸為N_0×2N_0的兩個分區(qū)和尺寸為N_0×N_0的四個分區(qū)上重復執(zhí)行預測編碼。可在尺寸為2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分區(qū)上執(zhí)行幀內(nèi)模式和幀間模式的預測編碼。只在尺寸為2N_0×2N_0的分區(qū)上執(zhí)行跳躍模式的預測編碼。
如果分區(qū)模式912、914和916中的一個分區(qū)模式的編碼誤差是最小誤差,那么預測單元910可不分割成更深深度。
如果分區(qū)模式918中的編碼誤差是最小誤差,那么在操作920中,深度從0變成1從而分割分區(qū)模式918,并且在深度為2且尺寸為N_0×N_0的編碼單元930上重復執(zhí)行編碼,以搜索最小編碼誤差。
用于對深度為1且尺寸為2N_1×2N_1(=N_0×N_0)的編碼單元930進行預測編碼的預測單元940可包括下列分區(qū)模式的分區(qū):尺寸為2N_1×2N_1的分區(qū)模式942、尺寸為2N_1×N_1的分區(qū)模式944、尺寸為N_1×2N_1的分區(qū)模式946和尺寸為N_1×N_1的分區(qū)模式948。
如果分區(qū)模式948的編碼誤差是最小誤差,那么在操作950中,深度從1變成2從而分割分區(qū)模式948,并且在深度為2且尺寸為N_2×N_2的編碼單元960上重復執(zhí)行編碼,以搜索最小編碼誤差。
當最大深度為d時,根據(jù)深度的較深編碼單元可設(shè)置到深度對應于d-1時,并且分割信息可設(shè)置到深度對應于d-2時。換言之,當在操作970中在對應于深度d-2的編碼單元進行分割之后執(zhí)行編碼直到深度為d-1時,用于對深度為d-1且尺寸為2N_(d-1)×2N_(d-1)的編碼單元980進行預測編碼的預測單元990可包括下列分區(qū)模式的分區(qū):尺寸為2N_(d-1)×2N_(d-1)的分區(qū)模式992、尺寸為2N_(d-1)×N_(d-1)的分區(qū)模式994、尺寸為N_(d-1)×2N_(d-1)的分區(qū)模式996和尺寸為N_(d-1)×N_(d-1)的分區(qū)模式998。
可在分區(qū)模式之中的尺寸為2N_(d-1)×2N_(d-1)的一個分區(qū)、尺寸為2N_(d-1)×N_(d-1)的兩個分區(qū)、尺寸為N_(d-1)×2N_(d-1)的兩個分區(qū)、尺寸為N_(d-1)×N_(d-1)的四個分區(qū)上重復地執(zhí)行預測編碼,以搜索具有最小編碼誤差的分區(qū)模式。
即使在分區(qū)模式998具有最小編碼誤差時,由于最大深度為d,因此,深度為d-1的編碼單元CU_(d-1)不再分割到更深深度,并且構(gòu)成當前最大編碼單元900的編碼單元的深度被確定為d-1,而且當前最大編碼單元900的分區(qū)模式可被確定為N_(d-1)×N_(d-1)。此外,由于最大深度為d,因此,不設(shè)置深度為d-1的編碼單元952的分割信息。
數(shù)據(jù)單元999可以是當前最大編碼單元的“最小單元”。根據(jù)實施方式的最小單元可以是通過將具有最深深度的最小編碼單元分割成4個而獲得的正方形數(shù)據(jù)單元。通過重復執(zhí)行編碼,根據(jù)實施方式的視頻編碼設(shè)備100可通過比較根據(jù)編碼單元900的深度的編碼誤差來選擇具有最小編碼誤差的深度從而確定深度,并且可將對應分區(qū)模式和預測模式設(shè)置為深度的編碼模式。
因此,在所有的深度0、1、……、d-1、d中比較根據(jù)深度的最小編碼誤差,并且可將具有最小編碼誤差的深度確定為深度。深度、預測單元的分區(qū)模式和預測模式可作為分割信息而被編碼和傳輸。此外,由于編碼單元從深度0分割到深度,因此,只有深度的分割信息被設(shè)置為0,而除該深度之外的深度的分割信息被設(shè)置為1。
根據(jù)實施方式的視頻解碼設(shè)備200的圖像數(shù)據(jù)與編碼信息提取器220可提取并使用與編碼單元900的深度和預測單元有關(guān)的信息,從而對分區(qū)912進行解碼。根據(jù)實施方式的視頻解碼設(shè)備200可通過使用根據(jù)深度的分割信息而將分割信息為0的深度確定為深度,并且將對應深度的分割信息用于解碼。
圖17、圖18和圖19是用于描述根據(jù)各種實施方式的編碼單元、預測單元與變換單元之間的關(guān)系的示意圖。
編碼單元1010是最大編碼單元中的由根據(jù)實施方式的視頻編碼設(shè)備100確定的、根據(jù)深度的具有樹形結(jié)構(gòu)的編碼單元。預測單元1060是根據(jù)深度的編碼單元中的每個的預測單元的分區(qū),以及變換單元1070是根據(jù)深度的編碼單元中的每個的變換單元。
當編碼單元1010中的最大編碼單元的深度為0時,編碼單元1012和1054的深度為1,編碼單元1014、1016、1018、1028、1050和1052的深度為2,編碼單元1020、1022、1024、1026、1030、1032和1048的深度為3,以及編碼單元1040、1042、1044和1046的深度為4。
在預測單元1060中,通過分割編碼單元1010中的編碼單元獲得一些編碼單元1014、1016、1022、1032、1048、1050、1052和1054。換言之,編碼單元1014、1022、1050和1054的分區(qū)模式具有尺寸2N×N,編碼單元1016、1048和1052的分區(qū)模式具有尺寸N×2N,以及編碼單元1032的分區(qū)模式具有尺寸N×N。編碼單元1010的預測單元和分區(qū)小于或等于每個編碼單元。
在小于編碼單元1052的數(shù)據(jù)單元中,對變換單元1070中的編碼單元1052的圖像數(shù)據(jù)執(zhí)行變換或逆變換。此外,變換單元1070中的編碼單元1014、1016、1022、1032、1048、1050和1052是在尺寸和形狀方面不同于預測單元1060中的數(shù)據(jù)單元的數(shù)據(jù)單元。換言之,根據(jù)實施方式的視頻編碼設(shè)備100和視頻解碼設(shè)備200可在相同編碼單元的單個數(shù)據(jù)單元上執(zhí)行幀內(nèi)預測、運動估算、運動補償、變換以及逆變換。
因此,對最大編碼單元的每個區(qū)域中具有分層結(jié)構(gòu)的編碼單元中的每個遞歸地執(zhí)行編碼,以確定最佳編碼單元,因此,可獲得具有遞歸樹形結(jié)構(gòu)的編碼單元。編碼信息可包括與編碼單元有關(guān)的分割信息、與分區(qū)模式有關(guān)的信息、與預測模式有關(guān)的信息和與變換單元的尺寸有關(guān)的信息。表1示出可由根據(jù)實施方式的視頻編碼設(shè)備100和視頻解碼設(shè)備200設(shè)置的編碼信息。
表1
根據(jù)實施方式的視頻編碼設(shè)備100的輸出單元130可輸出與具有樹形結(jié)構(gòu)的編碼單元有關(guān)的編碼信息,并且根據(jù)實施方式的視頻解碼設(shè)備200的圖像數(shù)據(jù)與編碼信息提取器220可從接收的比特流中提取與具有樹形結(jié)構(gòu)的編碼單元有關(guān)的編碼信息。
分割信息表明當前編碼單元是否分割成較深深度的編碼單元。如果當前深度d的分割信息為0,那么當前編碼單元不再分割到較深深度所處的深度是深度,因此,可針對該深度來限定與分區(qū)模式、預測模式和變換單元的尺寸有關(guān)的信息。如果當前編碼單元根據(jù)分割信息進一步分割,那么必須在較深深度的四個分割編碼單元上獨立執(zhí)行編碼。
預測模式可以是幀內(nèi)模式、幀間模式和跳躍模式中的一個。幀內(nèi)模式和幀間模式可限定于所有分區(qū)模式,而跳躍模式可以只限定于尺寸為2N×2N的分區(qū)模式。
與分區(qū)模式有關(guān)的信息可表明通過對稱地分割預測單元的高度或?qū)挾榷@取的尺寸為2N×2N、2N×N、N×2N和N×N的對稱分區(qū)模式,以及通過不對稱地分割預測單元的高度或?qū)挾榷@取的尺寸為2N×nU、2N×nD、nL×2N和nR×2N的不對稱分區(qū)模式??煞謩e通過以1:3和3:1分割預測單元的高度來獲取尺寸為2N×nU和2N×nD的不對稱分區(qū)模式,并且可分別通過以1:3和3:1分割預測單元的寬度來獲取尺寸為nL×2N和nR×2N的不對稱分區(qū)模式。
變換單元的尺寸可設(shè)置為在幀內(nèi)模式下有兩個類型并且在幀間模式下有兩個類型。換言之,如果變換單元的分割信息為0,那么變換單元的尺寸可以是2N×2N,也就是當前編碼單元的尺寸。如果變換單元的分割信息為1,那么可通過分割當前編碼單元來獲得變換單元。此外,如果尺寸為2N×2N的當前編碼單元的分區(qū)模式是對稱分區(qū)模式,那么變換單元的尺寸可以是N×N,而如果當前編碼單元的分區(qū)類型是不對稱分區(qū)模式,那么變換單元的尺寸可以是N/2×N/2。
根據(jù)實施方式的與具有樹形結(jié)構(gòu)的編碼單元有關(guān)的編碼信息可分配到與深度對應的編碼單元、預測單元和最小單元中的至少一個。與深度對應的編碼單元可包括具有相同編碼信息的預測單元和最小單元中的至少一個。
因此,通過比較相鄰數(shù)據(jù)單元的多項編碼信息來確定相鄰數(shù)據(jù)單元是否包括在與深度對應的相同編碼單元中。此外,可通過使用數(shù)據(jù)單元的編碼信息來確定與深度對應的對應編碼單元,因此可推斷出最大編碼單元中的深度的分布。
因此,如果基于相鄰數(shù)據(jù)單元的編碼信息來預測當前編碼單元,那么可直接參考并使用與當前編碼單元相鄰的較深編碼單元中的數(shù)據(jù)單元的編碼信息。
作為另一示例,如果通過參考相鄰編碼單元來對當前編碼單元進行預測編碼,那么通過使用相鄰編碼單元的多項編碼信息以可參考相鄰編碼單元的方式來搜索與當前編碼單元相鄰并且在較深編碼單元中的數(shù)據(jù)單元。
圖20是用于描述根據(jù)表1的編碼模式信息的編碼單元、預測單元與變換單元之間的關(guān)系的示意圖。
最大編碼單元1300包括編碼單元1302、1304、1306、1312、1314、1316、以及具有深度的1318。此處,由于編碼單元1318是具有深度的編碼單元,因此,分割信息可設(shè)置為0。與尺寸為2N×2N的編碼單元1318的分區(qū)模式有關(guān)的信息可設(shè)置為下列一個:尺寸為2N×2N的分區(qū)模式1322、尺寸為2N×N的分區(qū)模式1324、尺寸為N×2N的分區(qū)模式1326、尺寸為N×N的分區(qū)模式1328、尺寸為2N×nU的分區(qū)模式1332、尺寸為2N×nD的分區(qū)模式1334、尺寸為nL×2N的分區(qū)模式1336以及尺寸為nR×2N的分區(qū)模式1338。
變換單元的分割信息(TU尺寸標記)是一種類型的變換索引。與變換索引對應的變換單元的尺寸可根據(jù)編碼單元的預測單元類型或分區(qū)模式而改變。
例如,當與分區(qū)模式有關(guān)的信息設(shè)置為對稱,即,尺寸為2N×2N的分區(qū)模式1322、尺寸為2N×N的分區(qū)模式1324、尺寸為N×2N的分區(qū)模式1326或尺寸為N×N的分區(qū)模式1328時,如果變換單元的TU尺寸標記為0,則可設(shè)置尺寸為2N×2N的變換單元1342,而如果TU尺寸標記為1,則可設(shè)置尺寸為N×N的變換單元1344。
當與分區(qū)模式有關(guān)的信息設(shè)置為不對稱,即,尺寸為2N×nU的分區(qū)模式1332、尺寸為2N×nD的分區(qū)模式1334、尺寸為nL×2N的分區(qū)模式1336或尺寸為nR×2N的分區(qū)模式1338時,如果TU尺寸標記為0,則可設(shè)置尺寸為2N×2N的變換單元1352,而如果TU尺寸標記為1,則可設(shè)置尺寸為N/2×N/2的變換單元1354。
參考圖19,TU尺寸標記是值為0或1的標記,但根據(jù)實施方式的TU尺寸標記不限于1比特的標記,并且在TU尺寸標記從0增加時,變換單元可分層地分割。該TU尺寸標記可以是變換索引的一個示例。
在這種情況下,實際使用的變換單元的尺寸可通過使用根據(jù)實施方式的TU尺寸標記以及變換單元的最大尺寸和變換單元的最小尺寸一起來表示。根據(jù)實施方式的視頻編碼設(shè)備100可對最大變換單元尺寸信息、最小變換單元尺寸信息和最大TU尺寸標記信息進行編碼。對最大變換單元尺寸信息、最小變換單元尺寸信息和最大TU尺寸標記信息進行編碼的結(jié)果可插入到SPS。根據(jù)實施方式的視頻解碼設(shè)備200可通過使用最大變換單元尺寸信息、最小變換單元尺寸信息和最大TU尺寸標記信息來對視頻進行解碼。
例如,(a)如果當前編碼單元的尺寸是64×64并且最大變換單元尺寸是32×32,那么(a-1)變換單元的尺寸在TU尺寸標記為0時可以是32×32,(a-2)在TU尺寸標記為1時可以是16×16,以及(a-3)在TU尺寸標記為2時可以是8×8。
作為另一示例,(b)如果當前編碼單元的尺寸是32×32并且最小變換單元尺寸是32×32,那么(b-1)變換單元的尺寸在TU尺寸標記為0時可以是32×32。此處,由于變換單元的尺寸不可小于32×32,因此,TU尺寸標記無法設(shè)置成除了0之外的值。
作為另一示例,(c)如果當前編碼單元的尺寸是64×64并且最大TU尺寸標記是1,那么TU尺寸標記可以是0或1。此處,TU尺寸標記無法設(shè)置成除了0或1之外的值。
因此,如果將最大TU尺寸標記定義為“MaxTransformSizeIndex”,將最小變換單元尺寸定義為“MinTransformSize”,并且當TU尺寸標記為0時變換單元尺寸為“RootTuSize”,那么可在當前編碼單元中確定的當前最小變換單元尺寸“CurrMinTuSize”可由等式(1)限定:
CurrMinTuSize
=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))...(1)
與可在當前編碼單元中確定的當前最小變換單元尺寸“CurrMinTuSize”相比,TU尺寸標記為0時的變換單元尺寸“RootTuSize”可表示可以在系統(tǒng)中選擇的最大變換單元尺寸。在等式(1)中,“RootTuSize/(2^MaxTransformSizeIndex)”表示在TU尺寸標記為0時變換單元尺寸“RootTuSize”被分割與最大TU尺寸標記對應的次數(shù)時的變換單元尺寸,并且“MinTransformSize”表示最小變換尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”之中的較小值可以是可在當前編碼單元中確定的當前最小變換單元尺寸“CurrMinTuSize”。
根據(jù)實施方式的最大變換單元尺寸RootTuSize可根據(jù)預測模式而改變。
例如,如果當前預測模式是幀間模式,那么“RootTuSize”可通過使用下列等式(2)來確定。在等式(2)中,“MaxTransformSize”表示最大變換單元尺寸,并且“PUSize”表示當前預測單元尺寸。
RootTuSize=min(MaxTransformSize,PUSize).........(2)
換言之,如果當前預測模式是幀間模式,那么在TU尺寸標記為0時,變換單元尺寸“RootTuSize”可以是最大變換單元尺寸和當前預測單元尺寸之中的較小值。
如果當前分區(qū)單元的預測模式是幀內(nèi)模式,那么“RootTuSize”可通過使用下列等式(3)來確定。在等式(3)中,“PartitionSize”表示當前分區(qū)單元的尺寸。
RootTuSize=min(MaxTransformSize,PartitionSize)...........(3)
換言之,如果當前預測模式是幀內(nèi)模式,那么在TU尺寸標記為0時,變換單元尺寸“RootTuSize”可以是最大變換單元尺寸和當前分區(qū)單元的尺寸之中的較小值。
然而,根據(jù)分區(qū)單元中的預測模式的類型而改變的當前最大變換單元尺寸“RootTuSize”僅僅是示例,并且本公開不限于此。
根據(jù)參考圖8到圖20描述的基于具有樹形結(jié)構(gòu)的編碼單元的視頻編碼方法,針對樹形結(jié)構(gòu)的每個編碼單元,將空間域的圖像數(shù)據(jù)編碼。根據(jù)基于具有樹形結(jié)構(gòu)的編碼單元的視頻解碼方法,針對每個最大編碼單元執(zhí)行解碼,以重建空間域的圖像數(shù)據(jù)。因此,可重建圖片和視頻(即,圖片序列)。重建的視頻可由播放設(shè)備播放、可存儲在存儲介質(zhì)中、或可通過網(wǎng)絡(luò)傳輸。
根據(jù)本公開的實施方式可編寫為計算機程序,并且可在使用計算機可讀記錄介質(zhì)執(zhí)行程序的通用數(shù)字計算機中實施。計算機可讀記錄介質(zhì)的示例包括磁存儲介質(zhì)(例如,ROM、軟盤、硬盤等)和光記錄介質(zhì)(例如,CD-ROM或DVD)。
為便于描述,上文參考圖1A到圖20描述的層間視頻編碼方法和/或視頻編碼方法將統(tǒng)一被稱為“本公開的視頻編碼方法”。此外,上文參考圖1A到圖20描述的層間視頻解碼方法和/或視頻解碼方法將被稱為“本公開的視頻解碼方法”。
另外,已參考圖1A到圖20描述的視頻編碼設(shè)備(包括層間視頻編碼設(shè)備10、視頻編碼設(shè)備或視頻編碼器100或圖像編碼器400)將被稱為“本公開的視頻編碼設(shè)備”。此外,已參考圖1A到圖20描述的視頻解碼設(shè)備(包括層間視頻解碼設(shè)備20、視頻解碼設(shè)備200或圖像解碼器500)將被稱為“本公開的視頻解碼設(shè)備”。
現(xiàn)在將詳細描述根據(jù)實施方式的存儲程序的計算機可讀記錄介質(zhì),諸如,盤片26000。
圖21是根據(jù)各種實施方式的存儲有程序的盤片26000的物理結(jié)構(gòu)的示意圖。盤片26000作為一種存儲介質(zhì),其可以是硬盤驅(qū)動器、緊密式只讀存儲器(CD-ROM)盤、藍光光盤或數(shù)字多功能盤(DVD)。盤片26000包括多個同心盤道Tr,所述同心盤道各自在盤片26000的圓周方向上分成特定數(shù)量的扇區(qū)Se。在根據(jù)實施方式的盤片26000的特定區(qū)域中,可分配并存儲執(zhí)行上述量化參數(shù)確定方法、視頻編碼方法和視頻解碼方法的程序。
現(xiàn)在將參考圖22描述使用存儲介質(zhì)實現(xiàn)的計算機系統(tǒng),所述存儲介質(zhì)存儲用于執(zhí)行上述視頻編碼方法和視頻解碼方法的程序。
圖22是用于通過使用盤片26000來記錄和讀取程序的盤片驅(qū)動器26800的示意圖。計算機系統(tǒng)26700可經(jīng)由盤片驅(qū)動器26800在盤片26000中存儲用于執(zhí)行本公開的視頻編碼方法和視頻解碼方法中的至少一個的程序。為了在計算機系統(tǒng)26700中運行存儲在盤片26000中的程序,可從盤片26000中讀取程序并且通過使用盤片驅(qū)動器26800將它傳輸?shù)接嬎銠C系統(tǒng)26700。
執(zhí)行本公開的視頻編碼方法和視頻解碼方法中的至少一個的程序可不僅存儲在圖21和圖22所示的盤片26000中,還可存儲在存儲卡、ROM盒式磁帶或固態(tài)驅(qū)動器(SSD)中。
下文將描述應用上文所述的根據(jù)實施方式的視頻編碼方法和視頻解碼方法的系統(tǒng)。
圖23是用于提供內(nèi)容分發(fā)服務(wù)的內(nèi)容供應系統(tǒng)11000的整體結(jié)構(gòu)的示意圖。通信系統(tǒng)的服務(wù)區(qū)域分成預定尺寸的小區(qū),并且無線基站11700、11800、11900和12000分別安裝在這些小區(qū)中。
內(nèi)容供應系統(tǒng)11000包括多個獨立裝置。例如,諸如計算機12100、個人數(shù)字助理(PDA)12200、攝像機12300和移動電話12500的多個獨立裝置經(jīng)由互聯(lián)網(wǎng)服務(wù)提供商11200、通信網(wǎng)絡(luò)11400以及無線基站11700、11800、11900和12000連接到互聯(lián)網(wǎng)11100。
然而,內(nèi)容供應系統(tǒng)11000不限于如圖24所示,并且裝置可選擇性地連接到該系統(tǒng)。多個獨立裝置可直接連接到通信網(wǎng)絡(luò)11400,而不經(jīng)過無線基站11700、11800、11900和12000。
攝像機12300是能夠拍攝視頻圖像的成像裝置,例如,數(shù)字攝像機。移動電話12500可采用例如個人數(shù)字通信(PDC)、碼分多址(CDMA)、寬帶碼分多址(W-CDMA)、全球移動通信系統(tǒng)(GSM)以及個人手持式電話系統(tǒng)(PHS)等各種協(xié)議中的至少一個通信方法。
攝像機12300可經(jīng)由無線基站11900和通信網(wǎng)絡(luò)11400連接到流式服務(wù)器11300。流式服務(wù)器11300允許經(jīng)由攝像機12300從用戶接收的內(nèi)容經(jīng)過實時廣播進行流傳輸。從攝像機12300接收的內(nèi)容可由攝像機12300或流式服務(wù)器11300進行編碼。由攝像機12300拍攝的視頻數(shù)據(jù)可經(jīng)由計算機12100傳輸?shù)搅魇椒?wù)器11300。
由相機12600拍攝的視頻數(shù)據(jù)也可經(jīng)由計算機12100傳輸?shù)搅魇椒?wù)器11300。相機12600是能夠拍攝靜態(tài)圖像和視頻圖像的成像裝置,類似于數(shù)字相機。由相機12600拍攝的視頻數(shù)據(jù)可使用相機12600或計算機12100進行編碼。對視頻執(zhí)行編碼和解碼的軟件可存儲在可由計算機12100訪問的計算機可讀記錄介質(zhì)中,例如,CD-ROM盤、軟盤、硬盤驅(qū)動器、SSD或存儲卡。
如果視頻數(shù)據(jù)由內(nèi)置在移動電話12500的相機拍攝,那么視頻數(shù)據(jù)可從移動電話12500中接收。
視頻數(shù)據(jù)也可由安裝在攝像機12300、移動電話12500或相機12600中的大規(guī)模集成電路(LSI)系統(tǒng)進行編碼。
在根據(jù)實施方式的內(nèi)容供應系統(tǒng)11000中,由用戶使用攝像機12300、相機12600、移動電話12500或另一成像裝置記錄的內(nèi)容數(shù)據(jù)(例如,在音樂會期間記錄的內(nèi)容)被編碼并傳輸?shù)搅魇椒?wù)器11300。流式服務(wù)器11300可采用流內(nèi)容類型將編碼的內(nèi)容數(shù)據(jù)傳輸?shù)秸埱髢?nèi)容數(shù)據(jù)的其他客戶端。
客戶端是能夠?qū)幋a的內(nèi)容數(shù)據(jù)進行解碼的裝置,例如,計算機12100、PDA 12200、攝像機12300或移動電話12500。因此,內(nèi)容供應系統(tǒng)11000允許客戶端接收和播放編碼的內(nèi)容數(shù)據(jù)。此外,內(nèi)容供應系統(tǒng)11000允許客戶端接收編碼的內(nèi)容數(shù)據(jù),并且實時解碼和播放編碼的內(nèi)容數(shù)據(jù),從而實現(xiàn)個人播放。
本公開的視頻編碼設(shè)備和視頻解碼設(shè)備可應用于內(nèi)容供應系統(tǒng)11000中包括的多個獨立裝置的編碼操作和解碼操作。
現(xiàn)在將參考圖24和圖25詳細地描述內(nèi)容供應系統(tǒng)11000中包括的移動電話12500的實施方式。
圖24示出根據(jù)各種實施方式的應用本公開的視頻編碼方法和視頻解碼方法的移動電話12500的外部結(jié)構(gòu)。移動電話12500可以是智能電話,它的功能不受限制并且其大量的功能可改變或擴展。
移動電話12500包括外部天線12510,經(jīng)由該外部天線,射頻(RF)信號可與圖21的無線基站12000進行交換。移動電話12500還包括顯示屏12520,所述顯示屏12520用于顯示由相機12530拍攝的圖像或經(jīng)由天線12510接收并解碼的圖像,例如,液晶顯示器(LCD)或有機發(fā)光二極管(OLED)屏。移動電話12500包括操作面板12540,所述操作面板12540包括控制按鈕和觸摸面板。如果顯示屏12520是觸摸屏,那么操作面板12540還包括顯示屏12520的觸摸感應面板。移動電話12500包括用于輸出語音和聲音的揚聲器12580或另一類型的聲音輸出單元,以及用于輸入語音和聲音的麥克風12550或另一類型的聲音輸入單元。移動電話12500還包括相機12530,諸如,電荷耦合裝置(CCD)相機,以拍攝視頻或靜態(tài)圖像。移動電話12500可還包括:存儲介質(zhì)12570,該存儲介質(zhì)12570用于存儲編碼/解碼的數(shù)據(jù),例如,由相機12530拍攝、經(jīng)由電子郵件接收或根據(jù)各種方式獲取的視頻或靜態(tài)圖像;以及槽12560,存儲介質(zhì)12570經(jīng)由該槽12560裝載到移動電話12500中。存儲介質(zhì)12570可以是閃存,例如,安全數(shù)字(SD)卡或者包括在塑料盒中的電可擦除可編程只讀存儲器(EEPROM)。
圖25示出移動電話12500的內(nèi)部結(jié)構(gòu)。為了系統(tǒng)地控制包括顯示屏12520和操作面板12540的移動電話12500的部分,電源電路12700、操作輸入控制器12640、圖像編碼單元12720、相機接口12630、LCD控制器12620、圖像解碼單元12690、多路復用器/多路分解器12680、記錄/讀取單元12670、調(diào)制/解調(diào)單元12660以及聲音處理器12650經(jīng)由同步總線12730連接到中央控制器12710。
如果用戶操作電源按鈕并從“關(guān)機”狀態(tài)設(shè)置到“開機”狀態(tài),那么電源電路12700將電力從電池組供應到移動電話12500的所有部分,從而在操作模式下設(shè)置移動電話12500。
中央控制器12710包括中央處理單元(CPU)、ROM和RAM。
在移動電話12500將通信數(shù)據(jù)傳輸?shù)酵獠繒r,移動電話12500在中央控制器12710的控制下生成數(shù)字信號。例如,聲音處理器12650可生成數(shù)字聲音信號,圖像編碼單元12720可產(chǎn)生數(shù)字圖像信號,并且消息的文本數(shù)據(jù)可經(jīng)由操作面板12540和操作輸入控制器12640生成。當數(shù)字信號在中央控制器12710的控制下傳輸?shù)秸{(diào)制/解調(diào)單元12660時,調(diào)制/解調(diào)單元12660對數(shù)字信號的頻帶進行調(diào)制,并且通信電路12610在頻帶經(jīng)調(diào)制的數(shù)字聲音信號上執(zhí)行數(shù)模轉(zhuǎn)換(DAC)和頻率轉(zhuǎn)換。從通信電路12610輸出的傳輸信號可經(jīng)由天線12510傳輸?shù)秸Z音通信基站或無線基站12000。
例如,當移動電話12500處于對話模式時,經(jīng)由麥克風12550獲取的聲音信號在中央控制器12710的控制下被聲音處理器12650轉(zhuǎn)換成數(shù)字聲音信號。數(shù)字聲音信號可經(jīng)由調(diào)制/解調(diào)單元12660和通信單元12610轉(zhuǎn)換成傳輸信號,并且可經(jīng)由天線12510傳輸。
當文本消息(例如,電子郵件)在數(shù)據(jù)通信模式下傳輸時,文本消息的文本數(shù)據(jù)經(jīng)由操作面板12540輸入,并且經(jīng)由操作輸入控制器12640傳輸?shù)街醒肟刂破?2610。在中央控制器12610的控制下,文本數(shù)據(jù)經(jīng)由調(diào)制/解調(diào)單元12660和通信電路12610變換成傳輸信號,并且經(jīng)由天線12510傳輸?shù)綗o線基站12000。
為了在數(shù)據(jù)通信模式下傳輸圖像數(shù)據(jù),經(jīng)由相機接口12630將相機12530拍攝的圖像數(shù)據(jù)提供到圖像編碼單元12720。拍攝的圖像數(shù)據(jù)可經(jīng)由相機接口12630和LCD控制器12620直接顯示在顯示屏12520上。
圖像編碼單元12720的結(jié)構(gòu)可對應于上文所述的視頻編碼設(shè)備100的結(jié)構(gòu)。圖像編碼單元12720可根據(jù)上文所述的視頻編碼方法將從相機12530接收的圖像數(shù)據(jù)變換成壓縮且編碼的圖像數(shù)據(jù),并且隨后將編碼的圖像數(shù)據(jù)輸出到多路復用器/多路分解器12680。在相機12530的記錄操作期間,由移動電話12500的麥克風12550獲得的聲音信號可經(jīng)由聲音處理器12650變換成數(shù)字聲音數(shù)據(jù),并且數(shù)字聲音數(shù)據(jù)可傳輸?shù)蕉嗦窂陀闷?多路分解器12680。
多路復用器/多路分解器12680將從圖像編碼單元12720接收的編碼圖像數(shù)據(jù)與從聲音處理器12650接收的聲音數(shù)據(jù)多路復用。多路復用數(shù)據(jù)的結(jié)果可經(jīng)由調(diào)制/解調(diào)單元12660和通信單元12610轉(zhuǎn)換成傳輸信號,并且可隨后經(jīng)由天線12510傳輸。
當移動電話12500接收來自外源的通信數(shù)據(jù)時,在經(jīng)由天線12510接收的信號上執(zhí)行頻率恢復和模數(shù)轉(zhuǎn)換(ADC),以將該信號轉(zhuǎn)換成數(shù)字信號。調(diào)制/解調(diào)單元12660對數(shù)字信號的頻帶進行調(diào)制。根據(jù)數(shù)字信號的類型,頻帶經(jīng)過調(diào)制的數(shù)字信號傳輸?shù)揭曨l解碼單元12690、聲音處理器12650或LCD控制器12620。
在對話模式下,移動電話12500將經(jīng)由天線12510接收的信號放大,并且通過在放大的信號上執(zhí)行頻率轉(zhuǎn)換和ADC來獲取數(shù)字聲音信號。在中央控制器12710的控制下,接收的數(shù)字聲音信號經(jīng)由調(diào)制/解調(diào)單元12660和聲音處理器12650轉(zhuǎn)換成模擬聲音信號,并且模擬聲音信號經(jīng)由揚聲器12580輸出。
當在數(shù)據(jù)通信模式下時,接收在互聯(lián)網(wǎng)網(wǎng)站訪問的視頻文件的數(shù)據(jù),經(jīng)由調(diào)制/解調(diào)單元12660將經(jīng)由天線12510從無線基站12000接收的信號作為多路復用數(shù)據(jù)輸出,并且將多路復用數(shù)據(jù)傳輸?shù)蕉嗦窂陀闷?多路分解器12680。
為了對經(jīng)由天線12510接收的多路復用的數(shù)據(jù)進行解碼,多路復用器/多路分解器12680將多路復用的數(shù)據(jù)多路分解成編碼視頻數(shù)據(jù)流和編碼音頻數(shù)據(jù)流。經(jīng)由同步總線12730,編碼視頻數(shù)據(jù)流和編碼音頻數(shù)據(jù)流分別被提供到視頻解碼單元12690和聲音處理器12650。
圖像解碼單元12690的結(jié)構(gòu)可對應于上文所述的視頻解碼設(shè)備200的結(jié)構(gòu)。圖像解碼單元12690可根據(jù)上文所述的視頻解碼設(shè)備200或圖像解碼器500采用的視頻解碼方法對編碼的視頻數(shù)據(jù)進行解碼,以獲得重建的視頻數(shù)據(jù)并且經(jīng)由LCD控制器12620將重建的視頻數(shù)據(jù)提供到顯示屏12520。
因此,在互聯(lián)網(wǎng)網(wǎng)站訪問的視頻文件的數(shù)據(jù)可顯示在顯示屏12520上。同時,聲音處理器12650可將音頻數(shù)據(jù)轉(zhuǎn)換成模擬聲音信號,并且將模擬聲音信號提供到揚聲器12580。因此,在互聯(lián)網(wǎng)網(wǎng)站訪問的視頻文件中含有的音頻數(shù)據(jù)也可經(jīng)由麥克風12580而播放。
移動電話12500或另一類型的通信終端可以是包括本公開的視頻編碼設(shè)備和視頻解碼設(shè)備的收發(fā)終端,可以是只包括視頻編碼設(shè)備的收發(fā)終端,或者可以是只包括視頻解碼設(shè)備的收發(fā)終端。
根據(jù)本公開的通信系統(tǒng)不限于上文參考圖24描述的通信系統(tǒng)。例如,圖26示出根據(jù)各種實施方式的采用通信系統(tǒng)的數(shù)字廣播系統(tǒng)。根據(jù)實施方式的圖26的數(shù)字廣播系統(tǒng)可通過使用本公開的視頻編碼設(shè)備和視頻解碼設(shè)備來接收經(jīng)由衛(wèi)星或地面網(wǎng)絡(luò)傳輸?shù)臄?shù)字廣播。
更具體地,廣播站12890通過使用無線電波而將視頻數(shù)據(jù)流傳輸?shù)酵ㄐ判l(wèi)星或廣播衛(wèi)星12900。廣播衛(wèi)星12900傳輸廣播信號,并且廣播信號經(jīng)由家用天線12860傳輸?shù)叫l(wèi)星廣播接收器。在每個家庭中,編碼的視頻流可由TV接收器12810、機頂盒12870或另一裝置解碼并播放。
當本公開的視頻解碼設(shè)備實施于播放設(shè)備12830中時,播放設(shè)備12830可對記錄在存儲介質(zhì)12820(諸如,盤片或存儲卡)上的編碼視頻流進行解析和解碼,以重建數(shù)字信號。因此,重建的視頻信號可例如在顯示器12840上播放。
在連接到用于衛(wèi)星/地面廣播的天線12860或用于接收電纜電視(TV)廣播的電纜12850的機頂盒12870中,可安裝本公開的視頻解碼設(shè)備。從機頂盒12870輸出的數(shù)據(jù)也可在TV顯示器12880上播放。
作為另一示例,本公開的視頻解碼設(shè)備可安裝在TV接收器12810中,而不是機頂盒12870中。
具有適當天線12910的汽車12920可接收從衛(wèi)星12900或圖23的無線基站11700傳輸?shù)男盘枴=獯a的視頻可在安裝于汽車12920中的汽車導航系統(tǒng)12930的顯示屏上播放。
視頻信號可由本公開的視頻編碼設(shè)備進行編碼,并且可隨后記錄并存儲到存儲介質(zhì)中。具體而言,圖像信號可由DVD記錄器存儲在DVD光盤12960中,或者可由硬盤記錄器12950存儲在硬盤中。作為另一示例,視頻信號可存儲在SD卡12970中。如果硬盤記錄器12950包括根據(jù)實施方式的本公開的視頻解碼設(shè)備,那么記錄在DVD光盤12960、SD卡12970或另一存儲介質(zhì)上的視頻信號可在TV顯示器12880上播放。
汽車導航系統(tǒng)12930可不包括圖26的相機12530、相機接口12630和圖像編碼單元12720。例如,計算機12100和TV接收器12810可不包括圖26的相機12530、相機接口12630和圖像編碼單元12720。
圖27是示出根據(jù)各種實施方式的使用視頻編碼設(shè)備和視頻解碼設(shè)備的云計算系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)的示意圖。
本公開的云計算系統(tǒng)可包括云計算服務(wù)器14000、用戶數(shù)據(jù)庫(DB)14100、多個計算資源14200以及用戶終端。
響應于來自用戶終端的請求,云計算系統(tǒng)經(jīng)由數(shù)據(jù)通信網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))來提供多個計算資源14200的按需外包服務(wù)。在云計算環(huán)境下,通過使用虛擬化技術(shù)將位于物理上不同位置的數(shù)據(jù)中心處的計算資源相結(jié)合,服務(wù)提供商為用戶提供所需的服務(wù)。服務(wù)用戶不必將計算資源(例如,應用、存儲、操作系統(tǒng)(OS)和安全應用)安裝到他/她自己的終端中以進行使用,而是可在所需的時間點從通過虛擬化技術(shù)生成的虛擬空間中的服務(wù)之中選擇并使用所需服務(wù)。
指定服務(wù)用戶的用戶終端經(jīng)由包括互聯(lián)網(wǎng)和移動遠程通信網(wǎng)絡(luò)的數(shù)據(jù)通信網(wǎng)絡(luò)連接到云計算服務(wù)器14000。從云計算服務(wù)器14000可對用戶終端提供云計算服務(wù),具體地如視頻播放服務(wù)。用戶終端可以是能夠連接到互聯(lián)網(wǎng)的各種類型的電子裝置,例如,臺式PC 14300、智能TV 14400、智能電話14500、筆記本電腦14600、便攜式多媒體播放器(PMP)14700、平板PC 14800等。
云計算服務(wù)器14000可將分布在云網(wǎng)絡(luò)中的多個計算資源14200進行組合,并且將組合的結(jié)果提供到用戶終端。多個計算資源14200可包括各種數(shù)據(jù)服務(wù),并且可包括從用戶終端上傳的數(shù)據(jù)。如上文所述,云計算服務(wù)器14000可通過根據(jù)虛擬化技術(shù)將分布在不同區(qū)域中的視頻數(shù)據(jù)庫進行組合來將所需的服務(wù)提供到用戶終端。
與訂閱云計算服務(wù)的用戶有關(guān)的用戶信息存儲在用戶數(shù)據(jù)庫14100中。用戶信息可包括用戶的登錄信息、地址、姓名和個人信用信息。用戶信息可還包括視頻的索引。此處,索引可包括已經(jīng)播放的視頻列表、正在播放的視頻列表、過去播放的視頻的暫停點等。
存儲在用戶數(shù)據(jù)庫14100中的與視頻有關(guān)的信息可在用戶裝置之間共享。例如,當響應于來自筆記本電腦14600的請求而將視頻服務(wù)提供到筆記本電腦14600時,視頻服務(wù)的播放歷史便存儲在用戶數(shù)據(jù)庫14100中。當從智能電話14500接收播放該視頻服務(wù)的請求時,云計算服務(wù)器14000基于用戶數(shù)據(jù)庫14100來搜索并播放該視頻服務(wù)。當智能電話14500接收來自云計算服務(wù)器14000的視頻數(shù)據(jù)流時,通過對視頻數(shù)據(jù)流進行解碼來播放視頻的過程類似于上文參考圖24描述的移動電話12500的操作。
云計算服務(wù)器14000可參考存儲在用戶數(shù)據(jù)庫14100中的所需視頻服務(wù)的播放歷史。例如,云計算服務(wù)器14000接收來自用戶終端的播放存儲在用戶數(shù)據(jù)庫14100中的視頻的請求。如果這個視頻已在播放,那么由云計算服務(wù)器14000執(zhí)行的流傳輸這個視頻的方法可根據(jù)用戶終端的請求而改變,即,根據(jù)從視頻的開頭還是暫停點開始播放該視頻。例如,如果用戶終端請求從視頻的開頭開始播放該視頻,那么云計算服務(wù)器14000將從視頻的第一幀開始的視頻的流數(shù)據(jù)傳輸?shù)接脩艚K端。如果用戶終端請求從視頻的暫停點開始播放該視頻,那么云計算服務(wù)器14000將從對應于暫停點的幀開始的視頻的流數(shù)據(jù)傳輸?shù)接脩艚K端。
在這種情況下,用戶終端可包括如上文參考圖1A到圖20描述的本公開的視頻解碼設(shè)備。作為另一示例,用戶終端可包括如上文參考圖1A到圖20描述的本公開的視頻編碼設(shè)備?;蛘撸脩艚K端可包括如上文參考圖1A到圖20描述的本公開的視頻解碼設(shè)備和視頻編碼設(shè)備兩者。
上文已參考圖21到圖27描述了根據(jù)上文參考圖1A到圖20描述的各種實施方式的視頻編碼方法、視頻解碼方法、視頻編碼設(shè)備和視頻解碼設(shè)備的各種應用。然而,根據(jù)各種實施方式的將視頻編碼方法和視頻解碼方法存儲在存儲介質(zhì)中的方法或者在裝置中實施視頻編碼設(shè)備和視頻解碼設(shè)備的方法不限于上文參考圖21到圖27描述的實施方式。
本領(lǐng)域普通技術(shù)人員將理解,在不脫離如所附權(quán)利要求限定的本公開的精神和范圍的情況下,可對本公開在形式和細節(jié)方面做出各種改變。實施方式應僅被視作描述性的含義,而不是用于限制的目的。因此,本公開的范圍并不由本公開的詳細描述限定,而是由所附權(quán)利要求限定,并且該范圍內(nèi)的所有差異都將被解釋為包括在本公開中。