本發明構思涉及用于改善在對包括多個層的多層視頻進行編碼或解碼的過程中的層間預測的性能的方法和設備。
背景技術:
隨著開發和供應用于播放和存儲高分辨率或高質量視頻內容的硬件,針對用于將高分辨率或高質量視頻內容高效編碼或解碼的視頻編解碼器的需求逐漸增長。根據傳統的視頻編解碼器,基于具有樹形結構的編碼單元來根據有限編碼方法對視頻進行編碼。
通過頻率轉換將空間域的圖像數據轉換成頻域的系數。根據視頻編解碼器,將圖像分割成具有預定尺寸的塊,在每個塊上執行離散余弦變換(dct),并且以塊為單位對頻率系數進行編碼,從而快速計算頻率轉換。與空間域的圖像數據相比,頻域的系數容易壓縮。具體而言,由于通過視頻編解碼器的幀間預測或幀內預測的預測誤差來表達空間域的圖像像素值,因此,當在預測誤差上執行頻率轉換時,可將大量的數據轉換成0。根據視頻編解碼器,可通過用小尺寸的數據替換連續重復生成的數據來減少數據量。
多層視頻編解碼器對第一層視頻和至少一個第二層視頻進行編碼和解碼。通過去除第一層視頻和第二層視頻的層間冗余和時間/空間冗余,可減少第一層視頻和第二層視頻的數據量。
在相關技術中,是否或如何執行多層視頻的殘差預測基于視差矢量是否從當前編碼單元的鄰近塊中推導出而確定。
然而,與另一層有關的參考圖片總被要求執行殘差預測,但即使在當前編碼單元的參考圖片列表中不存在與另一層有關的參考圖片時,仍發送是否或如何執行殘差預測的句構。相應地,因為執行了不必要的操作,所以降低了處理效率。
技術實現要素:
技術問題
在對視頻進行編碼或解碼的過程中,在與當前編碼單元有關的參考圖片列表中不存在與執行層間預測的過程中所需的當前圖片的層不同的另一層有關的參考圖片的情況下,需要跳過不必要地生成或獲取包括是否或如何執行殘差預測的句構的比特流的過程。
技術方案
根據實施方式,提供了一種用于對包括多個層的視頻進行解碼的方法,所述方法包括:當在參考圖片列表中包括用于層間預測的參考圖片時,將第一信息設置為指示視差矢量可用;以及基于能否從當前編碼單元的鄰近塊推導出視差矢量以及基于第一信息來執行殘差預測。
根據另一實施方式,提供了一種用于對包括多個層的視頻進行解碼的設備,所述設備包括控制器,控制器配置為:確定在參考圖片列表中是否包括用于層間預測的參考圖片;當在參考圖片列表中包括參考圖片時,將第一信息設置為指示視差矢量可用;以及基于能否從當前編碼單元的鄰近塊推導出視差矢量以及基于第一信息來執行殘差預測。
技術效果
根據實施方式,在與當前編碼單元有關的參考圖片列表中不存在與執行層間預測的過程中所需的當前圖片的層不同的另一層有關的參考圖片的情況下,因為不生成或獲取包括是否或如何執行殘差預測的句構的比特流,所以可跳過不必要的操作,因此可執行高效的視頻編碼或解碼過程。
附圖說明
圖1a示出了用于對包括多層的視頻進行解碼的視頻解碼設備的框圖。
圖1b示出了用于對包括多層的視頻進行編碼的視頻編碼設備的框圖。
圖2示出了通過視頻解碼設備對包括多層的視頻進行解碼的過程的流程圖。
圖3a示出了確定在參考圖片列表中是否包括層間預測可用的參考圖片的過程的語意。
圖3b示出了用于設置第二信息的過程的語意。
圖3c示出了當未從當前編碼單元的鄰近塊中推導出視差矢量時使用默認視差矢量的過程的語意。
圖3d示出了基于與當前編碼單元中的視差矢量的可用性有關的第一信息從比特流中獲取預定信息或生成包括預定信息的比特流的過程。
圖4a示出了層間視頻解碼設備的框圖。
圖4b示出了層間視頻編碼設備的框圖。
圖5a示出了根據實施方式的層間預測結構。
圖5b是示出了通過多視圖相機獲取的多視圖視頻幀和通過深度相機獲取的深度圖幀的示意圖。
圖6a是編碼或解碼過程中使用的編碼工具的示意圖。
圖6b是示出了根據預測單元尺寸、預測模式和顏色深度信息的編碼工具的內容的示意圖。
圖7示出了基于樹形結構的編碼單元的視頻編碼設備的框圖。
圖8示出了基于樹形結構的編碼單元的視頻解碼設備的框圖。
圖9示出了編碼單元的概念。
圖10示出了基于編碼單元的圖像編碼器的框圖。
圖11示出了基于編碼單元的圖像解碼器的框圖。
圖12示出了根據深度的較深編碼單元以及分區。
圖13示出了編碼單元與變換單元之間的關系。
圖14示出了根據深度的多項編碼信息。
圖15示出了根據深度的較深編碼單元。
圖16、圖17和圖18示出了根據實施方式的編碼單元、預測單元和變換單元之間的關系。
圖19示出了根據表1的編碼模式信息的編碼單元、預測單元和變換單元之間的關系。
圖20示出了存儲有程序的盤片的物理結構。
圖21示出了通過使用盤片記錄和讀取程序的盤片驅動器。
圖22示出了提供內容分發服務的內容供應系統的整體結構。
圖23和24示出了應用視頻編碼方法和視頻解碼方法的移動電話的外部結構和內部結構。
圖25示出了使用通信系統的數字廣播系統。
圖26示出了使用視頻編碼設備和視頻解碼設備的云計算系統的網絡結構。
實施本發明的最佳方式
根據實施方式,提供了一種用于對包括多個層的視頻進行解碼的方法,所述方法包括:當在參考圖片列表中包括用于層間預測的參考圖片時,將第一信息設置為指示視差矢量可用;以及基于能否從當前編碼單元的鄰近塊推導出視差矢量以及基于第一信息來執行殘差預測。
方法還可包括:基于第一信息將第二信息設置為指示在殘差預測過程中參考圖片可用。
方法還可包括:基于第一信息,從比特流中獲取第三信息,第三信息指示是否在當前編碼單元中執行殘差預測。
執行殘差預測可包括:當無法從當前編碼單元的鄰近塊推導出視差矢量以及第一信息指示在參考圖片列表中包括參考圖片時,通過使用默認視差矢量來設置當前編碼單元的視差矢量。
默認視差矢量可表示指示多層之中包括當前圖片的層的值;以及設置第一信息可包括將第一信息設置為非零值。
從比特流中獲取第三信息可包括:當第二信息指示在殘差預測中參考圖片可用時從比特流中獲取第三信息;以及當第二信息指示在殘差預測中參考圖片不可用時,不從比特流中獲取第三信息。
方法還可包括:當第三信息表示為0時確定不執行殘差預測;以及當第三信息表示為大于0的值時通過使用基于第三信息確定的權重來執行殘差預測。
方法還可包括:當第一信息表示為大于0的值時,從比特流中獲取第四信息,第四信息指示是否執行基于深度圖像的塊分區;以及基于第四信息執行樣本間預測。
根據另一實施方式,提供了一種用于對包括多個層的視頻進行解碼的設備,所述設備包括控制器,控制器配置為:確定在參考圖片列表中是否包括用于層間預測的參考圖片;當在參考圖片列表中包括參考圖片時,將第一信息設置為指示視差矢量可用;以及基于能否從當前編碼單元的鄰近塊推導出視差矢量以及基于第一信息來執行殘差預測。
控制器可基于第一信息將第二信息設置為指示在殘差預測過程中參考圖片可用。
設備還可包括信息獲取器,信息獲取器基于第一信息從比特流中獲取第三信息,第三信息指示是否在當前編碼單元中執行殘差預測。
控制器可在無法從當前編碼單元的鄰近塊推導出視差矢量以及第一信息指示在參考圖片列表中包括參考圖片時,通過使用默認視差矢量來設置當前編碼單元的視差矢量。
控制器可在第三信息表示為0時確定不執行殘差預測,以及在第三信息表示為大于0的值時通過使用基于第三信息確定的權重來執行殘差預測。
信息獲取器可在第一信息表示為大于0的值時從比特流中獲取第四信息,第四信息指示是否執行基于深度圖像的塊分區;以及控制器可基于第四信息執行樣本間預測。
具體實施方式
下文中,將參照圖1a至圖6b描述根據實施方式的通過使用參考層深度圖確定視差矢量的層間視頻編碼技術和層間視頻解碼技術。此外,將參照圖7至圖20描述根據實施方式適用上述視頻編碼方法和視頻解碼方法的基于樹形結構的編碼單元的視頻編碼方法和視頻解碼方法。此外,將參照圖21至圖26描述適用上述視頻編碼方法和視頻解碼方法的實施方式。
下文中,術語“圖像”可指代視頻的靜態圖像或移動圖像,或可指代視頻本身。
下文中,術語“樣本”可指代分配給圖像的采樣位置的數據或待處理的數據。例如,空間域的圖像的像素值或塊的殘差可以是樣本。
下文中,“當前塊”可指代待編碼或待解碼的圖像的塊。
下文中,術語“鄰近塊”可指代與當前塊相鄰的至少一個編碼塊或解碼塊。例如,鄰近塊可以位于當前塊的上部、當前塊的右上部、當前塊的左側、或當前塊的左上部。此外,可不僅包括空間相鄰的塊,也可包括時間相鄰的塊。例如,時間相鄰的鄰近塊可包括與參考圖片的當前塊共位的共位塊或共位塊的鄰近塊。
下文中,術語“層圖像”可指代相同類型或特定視圖的圖像。在多視圖視頻中,層圖像可指代特定點的深度圖像或紋理圖像。例如,在三維(3d)圖像中,左視圖紋理圖像、右視圖紋理圖像和深度圖像中的每一圖像可構成層圖像。即,左視圖紋理圖像、右視圖紋理圖像和深度圖像可分別構成第一層圖像、第二層圖像和第三層圖像。
圖1a示出了根據實施方式用于對包括多層的視頻進行解碼的視頻解碼設備10的框圖。
參照圖1a,視頻解碼設備10可包括控制器11和信息獲取器12,控制器11可執行對包括多層的視頻進行解碼的圖像處理,信息獲取器12可從比特流中獲取對視頻進行解碼所必需的信息。
根據實施方式,控制器11可確定在參考圖片列表中是否包括用于層間預測的參考圖片。在參考圖片列表中可包括各種類型的參考圖片。例如,可包括具有不同的時間播放順序的圖片以作為用于層間預測的的圖片,以及可包括具有不同的層標識符(用于層識別)的圖片以作為用于層間預測的圖片。
圖2示出了根據實施方式通過視頻解碼設備10對包括多層的視頻進行解碼的過程的流程圖
在操作s210中,視頻解碼設備10的控制器11可確定在參考圖片列表中是否包括用于層間預測的參考圖片。當在參考圖片列表中包括用于層間預測的參考圖片時,視頻解碼設備10的控制器11可將第一信息設置為指示視差矢量可用。
根據實施方式,為了確定層間預測可用的參考圖片是否被包括在參考圖片列表所包括的至少一個圖片中,控制器11可確定作為被包括在參考圖片列表中的參考圖片的層標識信息的視圖索引是否與當前圖片的層間預測可用的參考圖片候選組的視圖索引相同。此處,當前圖片可與包括在將執行層間預測的增強層中的圖片對應。即,在包括當前圖片的增強層中,控制器11可參考深于增強層的較深層執行層間預測。控制器11可將小于當前圖片的視圖索引的索引值確定為參考圖片候選組的視圖索引。例如,參考圖片候選組的視圖索引可被包括在從0至比當前圖片的視圖索引的值小1的值的范圍內。控制器11可確定當前圖片的參考圖片列表中的至少一個圖片的視圖索引是否等于參考圖片候選組的視圖索引。當在當前圖片的參考圖片列表所包括的至少一個參考圖片中存在具有與參考圖片候選組的視圖索引相同的視圖索引的參考圖片時,控制器11可確定在參考圖片列表中包括層間預測可用的參考圖片。
根據實施方式,為了確定在參考圖片列表中是否包括層間預測可用的參考圖片,控制器11可確定在當前圖片的參考圖片列表中所包括的至少一個參考圖片中是否存在具有與參考圖片候選組的視圖索引相同的視圖索引的參考圖片。此外,控制器11可將表示當前圖片的播放順序的索引與表示具有與參考圖片候選組的視圖索引相同的值的參考圖片的播放順序的索引進行比較。例如,控制器11可將當前圖片的圖片順序計數(poc)與具有與參考圖片候選組的視圖索引相同的值的參考圖片的poc進行比較。即,控制器11可確定當前圖片的參考圖片列表所包括的至少一個參考圖片中的具有與參考圖片候選組的視圖索引相同的視圖索引的參考圖片的poc是否與當前圖片的poc相同,以及當所述poc彼此相同時可確定在參考圖片列表中包括用于層間預測的參考圖片。
圖3a示出了確定在參考圖片列表中是否包括層間預測可用的參考圖片的過程的語意。dispavailflag30b可以是指示在當前編碼單元中視差矢量是否可用的信息。此外,根據實施方式,dispavailflag30b可以是指示在參考圖片列表中是否包括作為層間預測可用的參考圖片的視圖間參考圖片的信息。defaultrefviewidx可以是表示構成多層視頻的多個層中的參考視圖索引的默認值的信息。viewidx(refpiclistx[i])可以是包括當前編碼單元的截片的參考圖片列表中的第i個圖片refpiclistx[i]的視圖索引viewidx,以及candviewidx可以是與用于識別與當前編碼單元有關的參考視圖索引候選組的索引有關的信息。根據實施方式,candviewidx可以是表示當前視圖的視圖索引的信息,以及candviewidx可表示在0至根據當前視圖有關的視圖索引“viewidx”的viewidx-1的范圍內的值。diffpicordercnt(currpic,refpiclistx[i])可包括關于與當前編碼單元有關的當前圖片currpic與參考圖片列表中的第i個圖片refpiclistx[i]之間的poc差的信息。參考圖3a,根據實施方式的控制器11可基于第一信息確定在當前編碼單元中視差矢量是否可用。
根據實施方式,控制器11可基于dispavailflag30b確定在參考圖片列表中是否存在層間預測可用的參考圖片。此外,當在參考圖片列表中存在層間預測可用的參考圖片時,視差矢量可確定為可用的。第一信息可以是指示在與當前編碼單元有關的截片有關的參考圖片列表中包括層間預測可用的參考圖片的信息。即,控制器可根據在與包括當前編碼單元的截片有關的參考圖片列表中是否包括另一層(或視圖)的參考圖片來不同地設置由第一信息表示的值。
根據實施方式,即使當第一信息指示在與包括當前編碼單元的截片有關的參考圖片列表中包括另一層(或視圖)的參考圖片,當不能從當前編碼單元的鄰近塊中推導出視差矢量時,控制器11也可通過使用默認視差矢量設置當前編碼單元的視差矢量。
此外,根據實施方式的控制器11可確定在與當前編碼單元有關的參考圖片列表中包括的參考圖片中是否存在具有與層間預測可用的參考圖片候選組相同的視圖索引的參考圖片(31b)。例如,參考圖片候選組的視圖索引可具有從0至比與當前圖片有關的視圖索引小1的值的范圍。
此外,根據實施方式,控制器11可確定當前圖片的poc是否與包括在參考圖片列表中的參考圖片中的具有與參考圖片候選組相同的視圖索引的參考圖片的poc相同(31c)。
當確定條件31a、31b和31c都被滿足時,控制器11可通過使用與當前編碼單元有關的候選參考視圖索引來設置默認參考視圖索引30a,以及還可將第一信息設置為非零值。即,當在參考圖片列表中包括用于層間預測的參考圖片時,控制器11可通過使用與當前編碼單元有關的候選參考視圖索引來設置默認參考視圖索引30a,以及可將第一信息dispavailflag30b設置為指示視差矢量可用。參考圖3a,根據實施方式,當dispavailflag30b表示為0時,可確定dispavailflag30b(即,與用于當前編碼單元的視差矢量的可用性有關的信息)的值還未被設置(31a)。當除了與dispavailflag30b有關的確定(31a)之外的所有其它條件(31b和31c)被滿足時,控制器11可通過使用與當前編碼單元有關的候選參考視圖索引來設置默認參考視圖索引30a,以及可將dispavailflag30b設置為具有1的值。
根據實施方式,即使當未從當前編碼單元的鄰近塊推導出視差矢量時,可通過使用當前編碼單元的默認參考視圖索引30a和默認視差矢量來設置當前編碼單元的視差矢量。此外,因為在參考圖片列表中包括層間預測可用的參考圖片,所以可通過獲取層間預測中的殘差預測所需的句構來執行高效解碼。
根據實施方式,當在參考圖片列表中存在參考圖片時,視頻解碼設備10的控制器11可將第一信息設置為指示視差矢量可用。
根據實施方式,當在操作s210中確定在參考圖片列表中包括用于層間預測的參考圖片時,控制器11可將第一信息設置為指示視差矢量可用。此處,可基于預定數據單元(例如,當前編碼單元)確定視差矢量是否可用。根據實施方式,通過從當前編碼單元的鄰近塊獲取與視差矢量有關的信息,控制器11可確定在當前編碼單元中視差矢量是否可用。
根據另一實施方式,即使當未從當前編碼單元的鄰近塊獲取與視差矢量有關的信息時,當在參考圖片列表中包括用于層間預測的參考圖片時,控制器11也可將當前編碼單元的視差矢量確定為默認視差矢量。以這種方法,即使在基于默認視差矢量來確定當前編碼單元的視差矢量時,控制器11也可將第一信息設置為指示視差矢量可用。根據實施方式,默認視差矢量可表示指示包括當前圖片的層的值。例如,默認視差矢量可具有(0,0)的值。
圖3c示出了根據實施方式當視頻解碼設備10的控制器11未從當前編碼單元的鄰近塊中推導出視差矢量時,使用默認視差矢量的過程的語意。
根據實施方式,視頻解碼設備10的控制器11可確定是否從當前編碼單元的鄰近塊推導出視差矢量。當確定從鄰近塊推導出視差矢量時,控制器11可將第一信息設置為指示視差矢量可用以及可將當前編碼單元的視差矢量設置為鄰近塊的視差矢量。此外,當確定從鄰近塊推導出視差矢量時,控制器11可將在當前編碼單元的層間預測中可用的參考圖片設置為鄰近塊的層間預測中可用的參考圖片。
參考圖3c,根據實施方式,通過從當前編碼單元的鄰近塊獲取與視差矢量有關的信息,控制器11可確定是否推導出當前編碼單元的視差矢量。例如,對于通過控制器11參考鄰近塊設置視差矢量的部分過程(34a),當tprednbdvavailflagn為1時,因為當前編碼單元的視差矢量可通過使用當前編碼單元的鄰近塊的視差矢量推導出,所以dvavailflag的值(即,與當前編碼單元的視差矢量的可用性有關的信息)可設置為“1”以指示視差矢量是可用的,dispvec(即,當前編碼單元的視差矢量)可設置為tprednbdispvecn(即,鄰近塊的視差矢量),以及refviewidx(即,指示在當前編碼單元的層間預測中參考的層的參考視圖索引)可設置為tprednbrefviewidxn(即,鄰近塊的參考視圖索引)。即,當可參考當前編碼單元的鄰近塊推導出視差矢量時,dvavailflag(表示當前編碼單元的視差矢量的可用性的信息)可設置為"1"。
根據實施方式,當可能無法通過使用鄰近塊的視差矢量推導出當前編碼單元的視差矢量并且dvavailflag(即,與當前編碼單元的視差矢量的可用性有關的信息)表示為“0”時,視頻解碼設備10的控制器11可執行將refviewidx(即,指示當前編碼單元的層間預測中參考的層的參考視圖索引)設置為defaultrefviewidx(即,默認視圖索引),以及將當前編碼單元的視差矢量設置為(0,0)(即,默認視差矢量)的過程(34b)。層間預測中所使用的視差矢量表示為(0,0)可意味著層間預測中參考的參考圖片的層與當前圖片的層相同。
根據實施方式,因為視頻解碼設備10的控制器11可在當前圖片的當前編碼單元中執行層間預測,所以在該過程中矢量視差可用于層間預測處理中。例如,參考圖3c,控制器11可將dispvec[x][y](即,當前編碼單元的層間預測中可用的視差矢量)的值設置(35)為通過預定過程(38a或38b)設置的dispvec的值。即,dispvec(即,當前編碼單元的視差矢量)可以是通過使用鄰近塊的視差矢量值推導出的值,以及當可能無法通過使用鄰近塊的視差矢量推導出dispvec時,dispvec可以是設置為默認視差矢量值的值。
根據實施方式,基于在參考圖片列表中是否包括用于層間預測的參考圖片以及是否可從當前編碼單元的鄰近塊中獲取與視差矢量有關的信息,控制器11可通過使用默認視差矢量確定當前編碼單元的視差矢量。例如,當通過使用當前編碼單元附近的樣本的視差矢量可能無法確定當前編碼單元的視差矢量以及在參考圖片列表中包括用于層間預測的參考圖片時,控制器11可通過使用默認視差矢量確定當前編碼單元的視差矢量。即,即使當無法從當前編碼單元的鄰近塊推導出視差矢量時,當在參考圖片列表中包括用于層間預測的參考圖片時,控制器11也可將第一信息設置為指示視差矢量可用。
根據實施方式,原則上,當可能無法從鄰近塊推導出視差矢量時,根據無法從鄰近塊推導出視差矢量并且因此當前編碼單元的視差矢量設置為默認視差矢量值的情況,以及根據在參考圖片列表中包括層間預測可用的參考圖片的情況,與當前編碼單元有關的第一信息可具有不同的值。
然而,在相關技術中,可僅當第一信息指示可從鄰近塊推導出視差矢量時可獲取用于層間預測的句構。然而,即使當可能無法從鄰近塊推導出視差矢量時,在當前編碼單元的視差矢量設置為默認視差矢量值時,因為可執行層間預測,所以獲取用于層間預測的句構仍可能是高效的。
因此,根據實施方式,不僅在可無法從鄰近塊推導出視差矢量的情況下,而且在無法從鄰近塊推導出視差矢量并因此當前編碼單元的視差矢量設置為默認視差矢量值的情況下,控制器11可將第一信息設置為指示視差矢量可用,以及可基于所設置的第一信息確定在幀間預測中用于殘差預測的參考圖片是否可用。下文將參照各種實施方式更詳細地描述這部分內容。
根據實施方式,視頻解碼設備10的控制器11可基于所設置的第一信息將第二信息設置為指示在殘差預測過程中參考圖片可用。
根據實施方式,當在與當前圖片有關的參考圖片列表中包括用于層間預測的參考圖片并因此第一信息指示視差矢量可用時,視頻解碼設備10可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片可用。即,當第一信息指示在包括當前編碼單元的截片中視差矢量不可用時,控制器11可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片不可用。
此外,當第一信息指示在當前編碼單元中視差矢量可用并且滿足其它預定條件時,控制器11可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片可用。根據實施方式,控制器11可不僅檢查第一信息,并且還檢查在設置第二信息以指示在殘差預測過程中參考圖片列表中的參考圖片可用的過程中的預定條件,以及預定條件可包括在參考圖片列表中是否存在在幀間預測過程中可用的時間參考圖片。
更具體地,當在p截片或b截片中包括當前編碼單元時,可提供一個或兩個參考圖片列表。
控制器11可確定在用于幀間預測的當前編碼單元中可用的至少一個參考圖片列表中是否存在幀間預測中可用的至少一個時間參考圖片。當在參考圖片列表中存在幀間預測可用的至少一個時間參考圖片以及第一信息指示在當前編碼單元中視差矢量可用時,控制器11可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片可用。
圖3b示出了根據實施方式的用于設置第二信息的過程的語意。
參考圖3b,根據實施方式,視頻解碼設備10的控制器11可將rprefpicavailflag32的值設置為第二信息。可基于在參考圖片列表中是否存在時間參考圖片來確定rprefpicavailflag32。在與當前編碼單元有關的截片是p截片時,可提供一個參考圖片列表;以及在該截片是b截片時,可提供兩個參考圖片列表。
控制器11可確定(33a)在與當前編碼單元有關的至少一個參考圖片列表中是否存在時間參考圖片,以及還可確定第一信息(例如,dispavailflag30b)是否指示視差矢量可用。根據實施方式,在與當前編碼單元有關的視差矢量可從鄰近塊推導出或可設置為默認視差矢量時,第一信息可具有大于0的值。
因此,當在與當前編碼單元有關的至少一個參考圖片列表中存在時間參考圖片并且第一信息指示視差矢量可用時,控制器11可將第二信息rprefpicavailflag32設置為大于0的值。第二信息可用于確定是否執行殘差預測。下文將參照各種實施方式更詳細地描述這部分內容。
根據實施方式,基于所設置的第一信息,視頻解碼設備10可從比特流中獲取指示是否在當前編碼單元中執行殘差預測的第三信息。
根據實施方式,當第一信息指示視差矢量可用時,視頻解碼設備10的控制器11可控制信息獲取器12從比特流中獲取指示是否在當前編碼單元中執行殘差預測的第三信息。即,當視差矢量可用并且在參考圖片列表中包括在殘差預測中可用的參考圖片時,視頻解碼設備10可從比特流中獲取第三信息以在當前編碼單元的層間預測中執行殘差預測。基于所獲取的第三信息,控制器11可確定是否執行殘差預測。
根據實施方式,視頻解碼設備10可基于第一信息設置第二信息以及可基于所設置的第二信息從比特流中獲取指示是否在當前編碼單元中執行殘差預測的第三信息。更具體地,當第一信息指示視差矢量可用并且第二信息指示在殘差預測過程中參考圖片可用時,視頻解碼設備10的控制器11可控制信息獲取器12從比特流中獲取指示是否在當前編碼單元中執行殘差預測的第三信息。即,當視差矢量可用并且在參考圖片列表中包括在殘差預測中可用的參考圖片時,視頻解碼設備10可從比特流中獲取指示在當前編碼單元的層間預測中執行殘差預測的第三信息。基于所獲取的第三信息,控制器11可確定是否執行殘差預測。
圖3d示出了根據實施方式視頻解碼設備10基于與當前編碼單元中的視差矢量的可用性有關的第一信息從比特流中獲取預定信息的過程。在圖3d中,第一信息可對應于dispavailflag30b,第二信息可對應于rprefpicavailflag32,以及第三信息可對應于iv_res_pred_weight_idx[x0][y0]39a。
參考圖3d,基于條件38,視頻解碼設備10可確定是否從比特流中獲取到第三信息39a。在條件45中,控制器11可基于指示在殘差預測中參考圖片是否可用的第二信息32來獲取第三信息39a。例如,當第二信息rprefpicavailflag指示在殘差預測中參考圖片可用時,視頻解碼設備10可基于該第二信息從比特流中獲取第三信息iv_res_pred_weight_idx[x0][y0]39a。
根據實施方式,視頻解碼設備10可基于從比特流中獲取的第三信息執行殘差預測。例如,當第三信息表示為非零值時,視頻解碼設備10可執行殘差預測,以及當第三信息表示為0的值時,視頻解碼設備可不執行殘差預測。圖3d示出了語意iv_res_pred_weight_idx[x0][y0]39b作為第三信息。參考圖3d,當值iv_res_pred_weight_idx[x0][y0]指示非零值時,控制器11可在當前編碼單元中執行殘差預測并且可基于iv_res_pred_weight_idx[x0][y0]確定殘差預測過程中的權重索引值。當iv_res_pred_weight_idx[x0][y0]的值指示0時,控制器11可不在當前編碼單元中執行殘差預測。
根據實施方式,基于第二信息,視頻解碼設備10可確定是否在當前編碼單元中執行光照補償(ic)。更具體地,基于第一信息,視頻解碼設備10可確定在當前編碼單元中視差矢量是否可用。即使當可能無法從鄰近塊推導出視差矢量時,當在參考圖片列表中包括層間預測可用的參考圖片時,視頻解碼設備10可通過使用默認視差矢量來設置當前編碼單元的視差矢量以及可將第一信息設置為1的值。當第一信息指示1的值時,視頻解碼設備10可將第二信息設置為指示在殘差預測過程中參考圖片可用。當第二信息指示在參考圖片列表中包括層間預測過程中可用的參考圖片時,視頻解碼設備10可獲取指示是否在當前編碼單元中執行光照補償的信息。
根據實施方式,因為視頻解碼設備10在執行光照補償的情況下總是參考層間預測過程可用的視圖方向參考圖片,所以視頻解碼設備10可首先確定在包括當前編碼單元的截片的參考圖片列表中是否存在層間預測過程可用的視圖方向參考圖片。
根據實施方式,當第二信息指示在參考圖片列表中不包括層間預測過程可用的視圖方向參考圖片時,視頻解碼設備10可能無法從比特流中獲取指示是否執行光照補償的信息。當第二信息指示在參考圖片列表中包括層間預測過程可用的視圖方向參考圖片時,視頻解碼設備10可從比特流中獲取指示是否執行光照補償的信息。
根據實施方式,基于指示在當前編碼單元中視差矢量是否可用的第一信息,視頻解碼設備10的控制器11可控制信息獲取器12從比特流中獲取指示基于深度的塊分區(dbbp)技術是否可用的第四信息。dbbp技術可包括通過使用包括在包括多個層的多層圖像中的深度信息來分割紋理圖像以及執行預測的方法。
第四信息可指示是否可執行樣本間預測以基于當前編碼單元中的深度信息對塊進行分割以及執行預測。當第四信息為0時,視頻解碼設備10可不執行樣本間預測;以及當第四信息為1時,視頻解碼設備10可執行樣本間預測。
參考圖3d,視頻解碼設備10可確定在條件36中指示在當前編碼單元中視差矢量是否可用的dispavailflag30b的值是否為0,以及可基于dispavailflag30b的值確定是否從比特流中獲取指示dbbp是否可用的dbbp_flag[x0][y0]37。更具體地,即使當可能無法從鄰近塊推導出視差矢量時,當在參考圖片列表中包括層間預測可用的參考圖片時,視頻解碼設備10可通過使用默認視差矢量設置當前編碼單元的視差矢量以及可將第一信息的值設置為1。當第一信息指示1的值時,視頻解碼設備10可從比特流中獲取指示dbbp是否可用的第四信息。
根據實施方式,當在當前編碼單元中視差矢量不可用時,dispavailflag30b的值可指示0,以及因為當dispavailflag30b的值為0時條件36可能無法被滿足而導致視頻解碼設備10可能無法從比特流中獲取dbbp_flag[x0][y0]37。即,因為對于使用dbbp技術而言視差矢量是必要的,所以當在當前編碼單元中視差矢量不可用時,則不必從比特流中獲取與dbbp技術有關的句構37。依據該實施方式,可通過跳過不必要的句構獲取過程而執行高效的視頻解碼。
圖1b示出了根據實施方式用于對包括多層的視頻進行編碼的視頻編碼設備15的框圖。
參考圖1b,視頻編碼設備15可包括控制器16和比特流生成器17,控制器16可執行圖像處理以對包括多層的視頻進行編碼,比特流生成器17可生成包括對視頻進行編碼所必須的信息的比特流。
根據實施方式,控制器16可確定在參考圖片列表中是否包括用于層間預測的參考圖片。在參考圖片列表中可包括各種類型的參考圖片。例如,具有不同的時間播放順序的圖片可被包括為用于執行幀間預測的圖片,以及具有不同的用于層識別的層標識符的圖片可被包括為用于執行幀間預測的圖片。
根據實施方式,視頻編碼設備15的控制器16可確定在參考圖片列表中是否包括用于層間預測的參考圖片。此外,當在參考圖片列表中包括用于層間預測的參考圖片時,視頻編碼設備15的控制器16可將第一信息設置為指示視差矢量可用。該過程可包括與視頻解碼設備10的操作s210對應的過程的特征。
根據實施方式,為了確定在參考圖片列表所包括的至少一個圖片中是否包括層間預測可用的參考圖片,控制器16可確定作為被包括在參考圖片列表中的參考圖片的層標識信息的視圖索引是否與當前圖片的層間預測可用的參考圖片候選組的視圖索引相同。控制器16可將小于當前圖片的視圖索引的索引值確定為參考圖片候選組的視圖索引。例如,參考圖片候選組的視圖索引可被包括在從0至比視圖索引的值小1的值的范圍內。
控制器16可確定當前圖片的參考圖片列表中的至少一個圖片的視圖索引是否等于參考圖片候選組的視圖索引。當在當前圖片的參考圖片列表所包括的至少一個參考圖片中存在具有與參考圖片候選組的視圖索引相同的視圖索引的參考圖片時,控制器16可確定在參考圖片列表中包括層間預測可用的參考圖片。
根據實施方式,為了確定在參考圖片列表中是否包括用于層間預測的參考圖片,控制器16可確定在當前圖片的參考圖片列表中所包括的至少一個參考圖片中是否存在具有與參考圖片候選組的視圖索引相同的視圖索引的參考圖片。此外,控制器16可將代表當前圖片的播放順序的索引與代表具有與參考圖片候選組的視圖索引相同的值的參考圖片的播放順序的索引進行比較。例如,控制器16可將當前圖片的poc與具有與參考圖片候選組的視圖索引相同的值的參考圖片的poc進行比較。即,控制器16可確定當前圖片的參考圖片列表所包括的至少一個參考圖片中的具有與參考圖片候選組的視圖索引相同的視圖索引的參考圖片的poc是否與當前圖片的poc相同,以及當所述poc彼此相同時可確定在參考圖片列表中包括用于層間預測的參考圖片。
圖3a示出了確定在參考圖片列表中是否包括層間預測可用的參考圖片的過程的語意。根據實施方式,圖3a中示出的語意可與視頻解碼設備10確定在參考圖片列表中是否包括層間預測可用的參考圖片的過程有關,以及該過程可與視頻編碼設備15對原始圖像執行的編碼過程相反地執行的結果對應。其具體內容可以是與以上描述中視頻解碼設備10根據圖3a的語意操作而對應的內容,因此出于簡潔的目的而省略對這部分內容的多余的描述。根據圖3a的語意,視頻編碼設備15的控制器16可確定在參考圖片列表中是否包括層間預測可用的參考圖片。
根據實施方式,當在參考圖片列表中存在參考圖片時,視頻編碼設備15的控制器16可將第一信息設置為指示視差矢量可用。根據實施方式,當在操作s210中確定在參考圖片列表中包括用于層間預測的參考圖片時,控制器16可將第一信息設置為指示視差矢量可用。此處,可基于預定數據單元(例如,當前編碼單元)確定視差矢量是否可用。根據實施方式,通過從當前編碼單元的鄰近塊獲取與視差矢量有關的信息,控制器16可確定在當前編碼單元中視差矢量是否可用。根據另一實施方式,即使當無法從當前編碼單元的鄰近塊獲取與視差矢量有關的信息時,當在參考圖片列表中包括用于層間預測的參考圖片時,控制器16可通過使用默認視差矢量來確定當前編碼單元的視差矢量。以這種方法,即使在基于默認視差矢量來確定當前編碼單元的視差矢量時,控制器16也可將第一信息設置為指示視差矢量可用。根據實施方式,默認視差矢量可代表指示包括當前圖片的層的值。例如,默認視差矢量可具有(0,0)的值。
圖3c示出了根據實施方式當視頻編碼設備15的控制器16未從當前編碼單元的鄰近塊中推導出視差矢量時使用默認視差矢量的過程的語意。
根據實施方式,視頻編碼設備15的控制器16可確定是否從當前編碼單元的鄰近塊推導出視差矢量。當確定從鄰近塊推導出視差矢量時,控制器16可將第一信息設置為指示視差矢量可用以及可將當前編碼單元的視差矢量設置為鄰近塊的視差矢量。此外,當確定從鄰近塊推導出視差矢量時,控制器16可將在當前編碼單元的層間預測中可用的參考圖片設置為鄰近塊的層間預測中可用的參考圖片。
參考圖3c,根據實施方式,通過從當前編碼單元的鄰近塊獲取與視差矢量有關的信息,控制器16可確定是否推導出當前編碼單元的視差矢量。當可能無法從當前編碼單元的鄰近塊推導出視差矢量時,視頻編碼設備15的控制器11執行的根據圖3c所示的語意的視差矢量使用過程可與視頻解碼設備10的控制器16根據圖3c的語意的視差矢量使用過程對應,因此為了簡潔起見,將省略對這部分內容的多余的描述。
根據實施方式,基于在參考圖片列表中是否包括用于層間預測的參考圖片以及與視差矢量有關的信息是否可從當前編碼單元的鄰近塊中獲取,控制器16可通過使用默認視差矢量確定當前編碼單元的視差矢量。例如,當可能無法通過使用當前編碼單元附近的樣本的視差矢量確定當前編碼單元的視差矢量并且在參考圖片列表中包括用于層間預測的參考圖片時,控制器16可通過使用默認視差矢量確定當前編碼單元的視差矢量。即,即使當無法從當前編碼單元的鄰近塊推導出視差矢量時,當在參考圖片列表中包括用于層間預測的參考圖片時,控制器16也可將第一信息設置為指示視差矢量有效。
根據實施方式,原則上,當可能無法從鄰近塊推導出視差矢量時,根據無法從鄰近塊推導出視差矢量并且因此當前編碼單元的視差矢量設置為默認視差矢量值的情況,以及根據在參考圖片列表中包括層間預測可用的參考圖片的情況,與當前編碼單元有關的第一信息可具有不同的值。然而,在相關技術中,可僅當第一信息指示可從鄰近塊推導出視差矢量時可獲取用于層間預測的句構。然而,即使當可能無法從鄰近塊推導出視差矢量時,在當前編碼單元的視差矢量設置為默認視差矢量值時,因為可執行層間預測,所以獲取用于層間預測的句構仍可能是高效的。因此,根據實施方式,不僅在可能無法從鄰近塊推導出視差矢量的情況下,而且在無法從鄰近塊推導出視差矢量并因此當前編碼單元的視差矢量設置為默認視差矢量值的情況下,控制器16可將第一信息設置為指示視差矢量可用,以及可基于所設置的第一信息確定在幀間預測中用于殘差預測的參考圖片是否可用。下文將參照各種實施方式更詳細地描述這部分內容。
根據實施方式,視頻編碼設備15的控制器16可基于所設置的第一信息將第二信息設置為指示在殘差預測過程中參考圖片可用。
根據實施方式,當在與當前圖片有關的參考圖片列表中包括用于層間預測的參考圖片并因此第一信息指示視差矢量可用時,視頻編碼設備15可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片可用。即,當第一信息指示在包括當前編碼單元的截片中視差矢量不可用時,控制器16可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片不可用。此外,當第一信息指示在當前編碼單元中視差矢量可用并且滿足其它預定條件時,控制器16可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片可用。根據實施方式,控制器16可不僅檢查第一信息,并且還檢查在設置第二信息以指示在殘差預測過程中參考圖片列表中的參考圖片可用的過程中的預定條件,以及預定條件可包括在參考圖片列表中是否存在在幀間預測過程中可用的時間參考圖片。更具體地,當在p截片或b截片中包括當前編碼單元時,可提供一個或兩個參考圖片列表。控制器16可確定在用于幀間預測的當前編碼單元中可用的至少一個參考圖片列表中是否存在幀間預測中可用的至少一個時間參考圖片。當在參考圖片列表中存在幀間預測可用的至少一個時間參考圖片以及第一信息指示在當前編碼單元中視差矢量可用時,控制器16可將第二信息設置為指示在殘差預測過程中參考圖片列表中的參考圖片可用。
圖3b示出了根據實施方式的用于設置第二信息的過程的語意。
參考圖3b,根據實施方式,視頻編碼設備15的控制器16可將rprefpicavailflag32的值設置為第二信息。可基于在參考圖片列表中是否存在時間參考圖片來確定rprefpicavailflag32。在與當前編碼單元有關的截片是p截片時,可提供一個參考圖片列表;以及在該截片是b截片時,可提供兩個參考圖片列表。控制器16可確定在與當前編碼單元有關的至少一個參考圖片列表中是否存在時間參考圖片(33a),以及還可確定第一信息指示視差矢量是否可用(30b)。根據實施方式,當與當前編碼單元有關的視差矢量可從鄰近塊推導出或可設置為默認視差矢量時,第一信息可具有大于0的值。因此,當在與當前編碼單元有關的至少一個參考圖片列表中存在時間參考圖片以及第一信息指示視差矢量可用時,控制器16可將第二信息rprefpicavailflag32設置為大于0的值。第二信息可用于確定是否執行殘差預測。下文將參照各種實施方式更詳細地描述這部分內容。
根據實施方式,基于所設置的第一信息,視頻編碼設備15可生成包括指示是否在當前編碼單元中執行殘差預測的第三信息的比特流。
根據實施方式,當第一信息指示視差矢量可用時,視頻編碼設備15的控制器16可控制比特流生成器17生成包括指示是否在當前編碼單元中執行殘差預測的第三信息的比特流。即,當視差矢量可用并且在參考圖片列表中包括在殘差預測中可用的參考圖片時,視頻編碼設備15可生成包括第三信息(即,用于在當前編碼單元的層間預測中執行殘差預測的信息)的比特流。
根據實施方式,基于第一信息,視頻編碼設備15可設置第二信息以及可基于所設置的第二信息生成包括第三信息的比特流,第三信息指示是否在當前編碼單元中執行殘差預測。更具體地,當第一信息指示視差矢量可用并且第二信息指示在殘差預測過程中參考圖片可用時,視頻編碼設備15的控制器16可控制比特流生成器17生成包括指示是否在當前編碼單元中執行殘差預測的第三信息的比特流。即,當視差矢量可用并且在參考圖片列表中包括在殘差預測中可用的參考圖片時,視頻編碼設備15可生成包括用于在當前編碼單元的層間預測中執行殘差預測的第三信息的比特流。基于所獲取的第三信息,控制器16可確定是否執行殘差預測。
將在下文描述根據實施方式由視頻編碼設備15基于與當前編碼單元中的視差矢量的可用性有關的第一信息生成包括預定信息的比特流的過程。
參考圖3d,基于條件38,視頻編碼設備15可確定是否生成包括第三信息39a的比特流。在條件45中,控制器16可基于指示在殘差預測中參考圖片是否可用的第二信息32來生成包括第三信息39a的比特流。例如,當第二信息rprefpicavailflag指示在殘差預測中參考圖片可用時,視頻編碼設備15可基于該第二信息生成包括第三信息iv_res_pred_weight_idx[x0][y0]39a的比特流。視頻編碼設備15的控制器16生成包括第三信息的比特流的過程可與圖3d中視頻解碼設備10的控制器11從比特流中獲取第三信息的過程對應,因此,出于簡潔起見將省略對這部分內容的多余描述。
根據實施方式,基于第二信息,視頻編碼設備15可確定是否在當前編碼單元中執行光照補償。更具體地,基于第一信息,視頻編碼設備15可確定在當前編碼單元中視差矢量是否可用。即使當可能無法從鄰近塊推導出視差矢量時,當在參考圖片列表中包括層間預測可用的參考圖片時,視頻編碼設備15可通過使用默認視差矢量來設置當前編碼單元的視差矢量以及可將第一信息的值設置為1。當第一信息指示1的值時,視頻編碼設備15可將第二信息設置為指示在殘差預測過程中參考圖片可用。當第二信息指示在參考圖片列表中包括層間預測過程中可用的參考圖片時,視頻編碼設備15可生成包括指示是否在當前編碼單元中執行光照補償的信息的比特流。
根據實施方式,因為視頻編碼設備15在執行光照補償的情況下總是參考層間預測過程可用的視圖方向參考圖片,所以視頻編碼設備15可首先確定在包括當前編碼單元的截片的參考圖片列表中是否存在層間預測過程可用的視圖方向參考圖片。
根據實施方式,當第二信息指示在參考圖片列表中不包括層間預測過程可用的視圖方向參考圖片時,視頻編碼設備15可不在比特流中包括指示是否執行光照補償的信息。當第二信息指示在參考圖片列表中包括層間預測過程中可用的視圖方向參考圖片時,視頻編碼設備15可生成包括指示是否執行光照補償的信息的比特流。
根據實施方式,基于指示在當前編碼單元中視差矢量是否可用的第一信息,視頻編碼設備15的控制器16可控制比特流生成器17生成包括指示dbbp技術是否可用的第四信息的比特流。dbbp技術可包括通過使用包括在包括多個層的多層圖像中的深度信息來分割紋理圖像以及執行預測的方法。
第四信息可指示是否可執行樣本間預測以基于當前編碼單元中的深度信息分割塊以及執行預測。當第四信息為0時,視頻編碼設備15可不執行樣本間預測;以及當第四信息為1時,視頻編碼設備15可執行樣本間預測。
參考圖3d,視頻編碼設備15可確定在條件36中指示在當前編碼單元中視差矢量是否可用的dispavailflag30b的值是否為0,以及可基于dispavailflag30b的值確定是否生成包括指示dbbp是否可用的dbbp_flag[x0][y0]37的比特流。更具體地,即使當可能無法從鄰近塊推導出視差矢量時,當在參考圖片列表中包括層間預測可用的參考圖片時,視頻編碼設備15可通過使用默認視差矢量設置當前編碼單元的視差矢量以及可將第一信息的值設置為1。當第一信息指示1的值時,視頻編碼設備15可生成包括指示dbbp是否可用的第四信息的比特流。
根據實施方式,當在當前編碼單元中視差矢量不可用時,dispavailflag30b的值可指示0,以及因為當dispavailflag30b的值為0時條件36可能無法滿足而導致視頻編碼設備15可生成包括dbbp_flag[x0][y0]37的比特流。即,因為視差矢量是對于使用dbbp技術所必須的,所以當在當前編碼單元中視差矢量不可用時,則在比特流中不必包括與dbbp技術有關的句構37。依據該實施方式,可通過跳過不必要的句構編碼過程而執行高效的視頻編碼。
圖4a示出了根據實施方式的層間視頻解碼設備40的框圖。根據實施方式的層間視頻解碼設備40可包括第一層解碼器42和第二層解碼器44。圖4a的層間視頻解碼設備40可與圖1a的視頻解碼設備10對應。此外,圖4a的第一層解碼器42和第二層解碼器44執行的操作可由圖1a的控制器11執行。
根據實施方式的層間視頻解碼設備40可根據可伸縮編碼方法逐層接收比特流。層間視頻解碼設備40接收的比特流的層數不受限制。然而,為了便于描述,將在下文描述層間視頻解碼設備40的第一層解碼器42接收和解碼第一層流以及第二層解碼器44接收和解碼第二層流的實施方式。
例如,基于空間可伸縮性的層間視頻解碼設備40可接收通過對不同層中具有不同分辨率的圖像序列進行編碼而生成的流。第一層流可被解碼以重建低分辨率圖像序列,而第二層流可被解碼以重建高分辨率圖像序列。
作為另一示例,可根據可伸縮視頻編碼方法對多視圖視頻進行解碼。當在多個層中接收到立體視頻流時,第一層流可被解碼以重建左視圖圖像。除了對第一層流進行解碼之外,還可對第二層流進行解碼以重建右視圖圖像。
可替代地,當在多個層中接收到多視圖視頻流時,第一層流可被解碼以重建中央視圖圖像。除了對第一層流進行解碼之外,還可對第二層流進行解碼以重建左視圖圖像。除了對第一層流進行解碼之外,還可對第三層流進行解碼以重建右視圖圖像。
作為另一示例,可執行基于時間可伸縮性的可伸縮視頻編碼方法。可對第一層流進行解碼以重建基本幀率圖像。除了對第一層流進行解碼之外,還可對第二層流進行解碼以重建高幀率圖像。
此外,當存在三個或更多個第二層時,可從第一層流重建第一層圖像,以及還可參考第一層重建圖像對第二層流進行解碼來重建第二層圖像。還可參考第二層重建圖像對第k層流進行解碼以重建第k層圖像。
層間視頻解碼設備40可從第一層流和第二層流獲取第一層圖像和第二層圖像的編碼數據,以及還可獲取通過幀間預測生成的運動矢量和通過層間預測生成的預測信息。
例如,層間視頻解碼設備40可對每層的幀間預測數據進行解碼以及對多個層之間的層間預測數據進行解碼。可基于編碼單元或預測單元通過運動補償和層間解碼來執行重建。
關于每個層流,可通過參考相同層經由幀間預測而預測的重建圖像執行對當前圖像的運動補償來重建圖像。運動補償可指代這樣的操作,其通過將當前圖像的殘差分量與通過使用當前圖像的運動矢量而確定的參考圖像合成來重建當前圖像的重建圖像。
另外,為了重建通過層間預測而預測的第二層圖像,層間視頻解碼設備40可參考第一層圖像執行層間解碼。層間解碼可指代這樣的操作,其通過將當前圖像的殘差分量與用于預測當前圖像而確定的另一層的參考圖像合成來重建當前圖像的重建圖像。
根據實施方式,層間視頻解碼設備40可執行層間解碼以重建參考第二層圖像而預測的第三層圖像。下文將參照圖5a詳細描述其層間預測結構。
然而,根據實施方式的第二層解碼器44即使在不參考第一層圖像序列的情況下也可對第二層流進行解碼。因此,應注意,第二層解碼器44不限于執行層間預測以用于對第二層圖像序列進行解碼。
層間視頻解碼設備40對視頻的每個圖像的每個塊執行解碼。在根據樹形結構的編碼單元中,塊可以是最大編碼單元、編碼單元、預測單元、變換單元等。
第一層解碼器42可通過使用經解析的第一層圖像的編碼符號來對第一層圖像進行解碼。當層間視頻解碼設備40接收到基于樹形結構的編碼單元編碼的流時,第一層解碼器42可基于根據第一層流的最大編碼單元的樹形結構的編碼單元執行解碼。
第一層解碼器42可通過按照最大編碼單元執行熵解碼來獲取編碼信息和編碼數據。第一層解碼器42可通過對從流中獲取的編碼數據執行反量化和逆變換來重建殘差分量。根據另一實施方式,第一層解碼器42可直接接收量化的變換系數的比特流。可通過對量化的變換系數執行反量化和逆變換來重建圖像的殘差分量。
第一層解碼器42可通過利用相同層圖像之間的運動補償將預測圖像和殘差分量組合來重建第一層圖像。
根據層間預測結構,第二層解碼器44可通過使用第一層重建圖像的樣本來生成第二層預測圖像。第二層解碼器44可通過對第二層流進行解碼來獲取層間預測的預測誤差。第二層解碼器44可通過將第二層預測圖像和預測誤差組合來生成第二層重建圖像。
第二層解碼器44可通過使用由第一層解碼器42解碼的解碼的第一層重建圖像來確定第二層預測圖像。根據層間預測結構,第二層解碼器44可確定第一層圖像中的、將被第二層圖像的諸如預測單元或編碼單元的塊參考的塊。例如,可確定第一層圖像中的位置與第二層圖像的當前塊的位置對應的重建塊。第二層解碼器44可通過使用與第二層塊對應的第一層重建塊來確定第二層預測塊。
第二層解碼器44可使用根據層間預測結構通過使用第一層重建塊確定的第二層預測塊,以作為用于第二層原始塊的層間預測的參考圖像。在這種情況下,第二層解碼器44可通過合成根據層間預測的殘差分量和通過使用第一層重建圖像確定的第二層預測塊的樣本值來重建第二層塊。
根據空間可伸縮視頻編碼方法,當第一層解碼器42重建的的第一層圖像與第二層圖像分辨率不同時,第二層解碼器44可對第一層重建圖像進行內插以將尺寸調節至與第二層原始圖像相同的分辨率。內插的第一層重建圖像可確定為用于層間預測的第二層預測圖像。
因此,層間視頻解碼設備40的第一層解碼器42可通過對第一層流進行解碼來重建第一層圖像序列以及通過對第二層流進行解碼來重建第二層圖像序列。
將下文中描述根據本發明構思的實施方式根據特定條件使用特定編碼工具層間解碼設備40。
第一層解碼器42基于從比特流中獲取的第一層圖像的編碼信息來重建第一層圖像。
第二層解碼器44基于從比特流中獲取的第二層圖像的分割信息將第二層圖像的最大編碼單元分割成一個或多個編碼單元。第二層解碼器44將編碼單元分割成用于預測解碼的預測單元。
第二層解碼器44可通過基于從比特流中獲取的編碼單元的預測模式信息和分區方式信息中的至少一項將編碼單元分割成一個或多個預測單元來確定編碼單元的結構。
基于當前預測單元的預測模式信息、尺寸信息和顏色深度信息中的至少一項,第二層解碼器44確定是否使用預定編碼工具以及通過使用預定編碼工具對當前預測單元進行解碼。
當預測單元具有與編碼單元相同的尺寸時,第二層解碼器44可通過使用預定編碼工具來執行解碼。此處,預定編碼工具可以是用于通過使用第一層圖像對預測單元執行編碼的工具。預定編碼工具可包括以下各項中的至少一項:mpi(運動參數繼承)、ivmp(視圖間運動參數預測)、ddd(視差導出深度)、vsp(視圖合成預測)、ic(光照補償)、sdc(區段直流編碼)、dmm(深度建模模式)、dbbp(基于深度的塊分區)和arp(高級殘差預測)。
根據實施方式的層間視頻解碼設備40可包括用于共同控制第一層解碼器42和第二層解碼器44的中央處理器(未示出)。可替代地,第一層解碼器42和第二層解碼器44中的每一項可通過其自身的處理器(未示出)來操作,以及當處理器(未示出)相對于彼此有機地操作時,層間視頻解碼設備40可作為整體操作。可替代地,根據實施方式,第一層解碼器42和第二層解碼器44可由層間視頻解碼設備40的外部處理器(未示出)來控制。
根據實施方式的層間視頻解碼設備40可包括用于存儲第一層解碼器42和第二層解碼器44的輸入/輸出數據的一個或多個數據存儲器(未示出)。根據實施方式的層間視頻解碼設備40可包括用于控制數據存儲器(未示出)的數據輸入/輸出的存儲控制器(未示出)。
根據實施方式,為了通過視頻解碼重建視頻,層間視頻解碼設備40可通過與其內部視頻解碼處理器或外部視頻解碼處理器協同操作來執行包括逆變換的視頻解碼操作。根據實施方式的層間視頻解碼設備40的內部視頻解碼處理器可以是單獨的處理器。然而,在一些情況下,層間視頻解碼設備40、中央操作設備或圖形操作設備可包括視頻解碼處理模塊以實現基本的視頻解碼操作。
圖4b示出了根據實施方式的層間視頻編碼設備45的框圖。根據實施方式的層間視頻編碼設備45可包括第一層編碼器46和第二層編碼器48。圖4b的層間視頻編碼設備45可與圖1b的視頻編碼設備15對應。此外,圖4b的第一層編碼器46和第二層編碼器48執行的操作可由圖1b的控制器16執行。
根據實施方式,層間視頻編碼設備45可根據可伸縮視頻編碼方法對多個圖像序列逐層進行分類和編碼,以及可輸出包括逐層編碼的數據的不同的流。層間視頻編碼設備45可對處于不同的層的第一層圖像序列和第二層圖像序列進行編碼。
第一層編碼器46可對第一層圖像進行編碼以及可輸出包括第一層圖像的編碼數據的第一層流。
第二層編碼器48可對第二層圖像進行編碼以及可輸出包括第二層圖像的編碼數據的第二層流。
例如,根據基于空間可伸縮性的可伸縮視頻編碼方法,低分辨率圖像可被編碼為第一層圖像,而高分辨率圖像可被編碼為第二層圖像。第一層圖像的編碼結果可輸出為第一層流,而第二層圖像的編碼結果可輸出為第二層流。
作為另一示例,可根據可伸縮視頻編碼方法對多視圖視頻進行編碼。當將對雙視圖圖像進行編碼時,左視圖圖像將被編碼為第一層圖像,而右視圖圖像將被編碼為第二層圖像。可替代地,當將對三視圖圖像進行編碼時,中部視圖圖像、左視圖圖像和右視圖圖像可被分別編碼,其中,中部視圖圖像可被編碼為第一層圖像,左視圖圖像可被編碼為第二層圖像,以及右視圖圖像可被編碼為第三層圖像。本發明構思不限于該配置,以及參考層和中部視圖、左視圖和右視圖被編碼的層可根據實施方式而變化。
作為另一示例,可根據基于時間可伸縮性的時間分層預測執行可伸縮視頻編碼方法。可輸出包括通過對基本幀率的圖像進行編碼而生成的編碼信息的第一層流。可根據每個幀率來對時間層(時間層級)進行分類,以及每個時間層可編碼為每個層。高幀率的圖像可參考基本幀率圖像被進一步編碼,以及可輸出包括高幀率編碼信息的第二層流。
另外,可對第一層和多個第二層執行可伸縮視頻編碼。當存在兩個或更多第二層時,第一層圖像、第一個第二層圖像、第二個第二層圖像、...、第k個第二層圖像可被編碼。相應地,第一層圖像的編碼結果可輸出為第一層流,以及第一個第二層圖像、第二個第二層圖像、...、第k個第二層圖像的編碼結果可分別輸出為第一個第二層流、第二個第二層流、...、第k個第二層流。
另外,可對第一層和多個層執行多視圖視頻編碼。當存在k個視圖圖像時,第一層圖像、第二層圖像、第三層圖像、...、第k層圖像可被編碼。相應地,第一層圖像的編碼結果可輸出為第一層流,而第k層圖像的編碼結果可輸出為第k層流。
多視圖可伸縮比特流包括與一個比特流中不同視點對應的子流。例如,在立體圖像中,比特流包括左圖像和右圖像。另外,可伸縮比特流可包括與多視圖圖像有關的子流以及深度圖的編碼數據。視點可伸縮性也可根據不同的視點分為不同的維度。
不同的可伸縮擴展類型可彼此組合。即,可伸縮視頻比特流可包括這樣的子流,在子流中包括圖像的多個層的圖像序列被編碼,其中,時間、空間、質量和多視圖可伸縮性彼此不同。
根據實施方式,第一層圖像序列、第二層圖像序列和第n層圖像序列可以是在分辨率、圖像質量和視圖中的至少一項不同的圖像序列。另外,當第一層圖像序列是基本層圖像序列時,其它層圖像序列可被限定為增強層圖像序列。增強層可被限定為可參考一個或多個鄰近視圖圖像預測的層。然而,基本層可被確定為多個層中的一個層,而基本層不限于第一層。
作為示例,第一層圖像序列可以是第一視圖圖像,第二層圖像序列可以是第二視圖圖像,以及第n層圖像序列可以是第n視圖圖像。作為另一示例,第一層圖像序列可以是基本層的左視圖圖像,第二層圖像序列可以是基本層的右視圖圖像,以及第n層圖像序列可以是增強層的右視圖圖像。然而,本發明構思不限于此,以及具有不同可伸縮擴展類型的圖像序列可以分別是具有不同圖像屬性的圖像序列。
根據實施方式,層間視頻編碼設備45可執行幀間預測以參考單個層的圖像預測當前圖像。可通過幀間預測生成代表當前圖像與參考圖像之間的運動信息的運動矢量以及當前圖像與參考圖像之間的殘差分量。
另外,層間視頻編碼設備45可執行層間預測以參考第一層圖像預測第二層圖像。
另外,根據實施方式,當層間視頻編碼設備45允許三個或更多層時(諸如第一層、第二層和第三層),可根據多層預測結構執行第一層圖像與第三層圖像之間的層間預測以及第二層圖像與第三層圖像之間的層間預測。
可通過層間預測生成當前圖像與另一層的參考圖像之間的位置差分量以及當前圖像與另一層的參考圖像之間的殘差分量。
根據實施方式,層間視頻編碼設備45對每個層中的視頻的每個圖像的每個塊進行編碼。塊可具有正方形形狀、矩形形狀、或任意幾何形狀,而不限于具有預定尺寸的數據單元。塊可以是在根據樹形結構的編碼單元中的最大編碼單元、編碼單元、預測單元、或變換單元。包括樹形結構的編碼單元的最大編碼單元可具有不同的稱謂,諸如編碼塊樹、塊樹、根塊樹、編碼樹、編碼根或樹干。將在下文參照圖7至圖20描述基于根據樹形結構的編碼單元的視頻編碼和解碼方案。
可基于編碼單元、預測單元或變換單元的數據單元來執行幀間預測和層間預測。
根據實施方式,第一層編碼器46可通過對第一層圖像執行包括幀間預測或幀內預測的源編碼操作生成符號數據。符號數據代表每個編碼參數的樣本值和殘差樣本值。
例如,第一層編碼器46可通過對第一層圖像的數據單元的樣本執行幀間預測或幀內預測、變換以及量化來生成符號數據,以及通過對符號數據執行熵編碼來生成第一層流。
第二層第二層編碼器48可基于樹形結構的編碼單元對第二層圖像進行編碼。第二層編碼器48可通過對第二層圖像的數據單元的樣本執行幀間/幀內預測、變換以及量化來生成符號數據,以及通過對符號數據執行熵編碼來生成第二層流。
根據實施方式,第二層編碼器48可通過使用第一層圖像的重建樣本執行層間預測以預測第二層圖像。為了通過層間預測結構對第二層圖像序列中的第二層原始圖像進行編碼,第二層編碼器48可通過使用第一層重建圖像來生成第二層預測圖像,以及可對第二層原始圖像與第二層預測圖像之間的預測誤差進行編碼。
第二層編碼器48可關于每個塊(諸如編碼單元或預測單元)對第二層圖像執行層間預測。可確定由第二層圖像的塊參考的第一層圖像的塊。例如,可確定第一層圖像中的位置與第二層圖像的當前塊的位置對應的重建塊。第二層編碼器48可通過使用與第二層塊對應的第一層重建塊來確定第二層預測塊。
第二層編碼器48可使用根據層間預測結構通過使用第一層重建塊確定的第二層預測塊,以作為用于第二層原始塊的層間預測的參考圖像。通過使用第一層重建圖像,第二層編碼器48可對第二層預測塊的樣本值與第二層原始塊的樣本值之間的誤差(即,層間預測的殘差分量)進行熵編碼。
如上所述,第二層編碼器48可通過層間預測結構參考第一層重建圖像對當前層圖像序列進行編碼。然而,根據實施方式,第二層編碼器48可在不參考其它層樣本的情況下根據單層預測結構對第二層圖像序列進行編碼。因此,應注意,第二層編碼器48不限于執行用于對第二層圖像序列進行編碼的層間預測。
第一層編碼器46生成包括通過對第一層圖像進行編碼而生成的編碼信息的比特流。
第二層編碼器48可將第二層圖像的最大編碼單元分割成一個或多個編碼單元以及可將編碼單元分割成用于預測編碼的一個或多個預測單元。第二層編碼器48根據多個預測模式或分區模式對預測單元進行編碼,以及基于率失真成本確定最佳預測模式或最佳分區模式。第二層解碼器48可通過使用所確定的編碼單元的預測模式或分區方式將編碼單元分割成一個或多個預測單元來確定編碼單元的結構。
第二層編碼器48基于預測單元的預測模式、尺寸和顏色深度中的至少一項來確定是否使用預定編碼工具,以及根據所述確定來對當前預測單元進行編碼。
當確定的預測單元具有與編碼單元相同的尺寸時,第二層編碼器48可通過使用預定編碼工具來執行編碼。用于第二層編碼器48中的預定編碼工具可以是通過使用第一層圖像對預測單元執行編碼的工具。預定編碼工具可包括以下各項中的至少一項:mpi(運動參數繼承)、ivmp(視圖間運動參數預測)、ddd(視差導出深度)、vsp(視圖合成預測)、ic(光照補償)、sdc(區段直流編碼)、dmm(深度建模模式)、dbbp(基于深度的塊分區)和arp(高級殘差預測)。
圖5a示出了根據實施方式的層間預測結構。
根據實施方式,層間視頻編碼設備45可根據如圖5a所示出的多視圖視頻預測結構的播放順序50對基本視圖圖像、左視圖圖像和右視圖圖像進行預測編碼。如下文所述的與相應視圖圖像有關的信息可以是被包括在多層圖像的每個層中的信息。例如,與基本視圖圖像有關的信息可以是被包括在多層圖像的基本層中的信息,以及與左視圖圖像有關的信息或與右視圖圖像有關的信息可以是被包括在多層圖像的增強層中的信息。
根據相關技術基于多視圖視頻預測結構的播放順序50,相同視圖圖像在水平方向布置。因此,由“左”表示的左視圖圖像在水平方向上布置成行,以“中部”表示的基本視圖圖像在水平方向上布置成行,以及由“右”表示的右視圖圖像在水平方向上布置成行。基本視圖圖像可以是相較于左視圖圖像/右視圖圖像的中部視圖圖像。
另外,具有相同poc順序的圖像布置在豎直方向上。圖像的poc順序可表示構成視頻的圖像的播放順序。多視圖視頻預測結構50中所指的“pocx”可表示位于相應列中的圖像的相對播放順序,其中,數字小于x的播放順序可能較早,而數字大于x的播放順序可能較晚。
因此,根據相關技術基于多視圖視頻預測結構的播放順序50,由“左”表示的左視圖圖像根據poc順序(播放順序)布置在水平方向上,以“中部”表示的基本視圖圖像根據poc順序(播放順序)布置在水平方向上,以及由“右”表示的右視圖圖像根據poc順序(播放順序)布置在水平方向上。另外,與基本視圖圖像位于相同列的左視圖圖像和右視圖圖像是具有相同poc順序(播放順序)但具有不同視圖的圖像。
在每個視圖中,四個連續圖像構成一個圖片組(gop)。每個gop包括一個錨圖片(關鍵圖片)以及連續錨圖片之間的圖像。
錨圖片與隨機存取點對應。當根據poc順序(即,在播放視頻過程中圖像的播放順序)在布置的圖像中選擇播放位置時,具有最相近poc順序的錨圖片在播放位置被播放。基本視圖圖像包括基本視圖錨圖片51、52、53、54和55,左視圖圖像包括左視圖錨圖片151、152、153、154和155,以及右視圖圖像包括右視圖錨圖片251、252、253、254和255。
多視圖圖像可根據gop順序進行播放和預測(重建)。首先,根據多視圖視頻預測結構的播放順序30,在每個視圖中,可播放gop0中包括的圖像,隨后可播放gop1中包括的圖像。即,可按gop0、gop1、gop2和gop3的順序播放每個gop中包括的圖像。此外,根據多視圖視頻預測結構的編碼順序,在每個視圖中,可預測(重建)gop0中包括的圖像,隨后可預測(重建)gop1中包括的圖像。即,可按gop0、gop1、gop2和gop3的順序來預測(重建)每個gop中包括的圖像。
根據多視圖視頻預測結構的播放順序30,在圖像上執行視圖間預測(層間預測)和幀間預測。在多視圖視頻預測結構中,箭頭開始的圖像是參考圖像,而箭頭終止的圖像是使用參考圖像預測的圖像。
基本視圖圖像的預測結果可被編碼,隨后以基本視圖圖像流的形式輸出,并且附加視圖圖像的預測結果可被編碼,隨后以層比特流的形式輸出。此外,左視圖圖像的預測編碼結果可輸出為第一層比特流,而右視圖圖像的預測編碼結果可輸出為第二層比特流。
只在基本視圖圖像上執行幀間預測。即,i圖片類型的基本層錨圖片51、52、53、54和55參考其他圖像,而b圖片類型和b圖片類型圖像是通過參考其他基本視圖圖像來預測的。b圖片類型圖像可參考下一i圖片類型錨圖片以及具有較先poc順序的前一i圖片類型錨圖片來預測。b圖片類型圖像可參考下一b圖片類型圖像以及具有較先poc順序的前一i圖片類型錨圖片來預測,或可參考下一i圖片類型錨圖片和具有較先poc順序的前一b圖片類型圖像來預測。
在左視圖圖像和右視圖圖像上執行參考不同視圖圖像的視圖間預測(層間預測)和參考相同視圖圖像的幀間預測。
通過參考具有相同poc順序的基本視圖錨圖片51、52、53、54和55,可在左視圖錨圖片151、152、153、154和155上執行視圖間預測(層間預測)。通過參考具有相同poc順序的基本視圖錨圖片51、52、53、54和55或者左視圖錨圖片151、152、153、154和155,可在右視圖錨圖片251、252、253、254和255上執行視圖間預測。另外,通過參考具有相同poc的其他視圖圖像,可在左視圖圖像和右視圖圖像之中的、除左視圖圖像151、152、153、154和155及右視圖錨圖片251、252、253、254和255外的合成圖像上執行視圖間預測(層間預測)。
可參考相同的視圖圖像預測左視圖圖像和右視圖圖像之中的、除左視圖圖像151、152、153、154和155及右視圖錨圖片251、252、253、254和255外的合成圖像。
然而,可不通過參考在相同視圖的附加視圖圖像之中播放順序在前的錨圖片來預測左視圖圖像和右視圖圖像。即,可參考排除按播放順序在當前左視圖圖像前面的左視圖錨圖片之外的左視圖圖像來對當前左視圖圖像進行幀間預測。同樣地,可參考排除按播放順序在當前右視圖圖像前面的右視圖錨圖片之外的右視圖圖像來對當前右視圖圖像執行幀間預測。
另外,可通過參考屬于當前gop但在當前左視圖圖像之前重建的左視圖圖像,而不是參考屬于當前左視圖圖像的、在當前gop之前的先前gop的左視圖圖像,從而對當前左視圖圖像執行幀間預測。這同樣適用于右視圖圖像。
根據實施方式,層間視頻解碼設備40可根據圖5a所示的多視圖視頻預測結構的播放順序50來重建基本視圖圖像、左視圖圖像和右視圖圖像。
左視圖圖像可經由參考基本視圖圖像的視圖間視差補償和參考左視圖圖像的圖像間運動補償來重建。右視圖圖像可經由參考基本視圖圖像和左視圖圖像的視圖間視差補償和參考右視圖圖像的圖像間運動補償來重建。應當首先針對左視圖圖像和右視圖圖像的視差補償和運動補償來重建參考圖像。
針對左視圖圖像的圖像間運動補償,可經由參考所重建的左視圖參考圖像的圖像間運動補償來重建左視圖圖像。針對右視圖圖像的圖像間運動補償,可經由參考所重建的右視圖參考圖像的圖像間運動補償來重建左視圖圖像。
另外,針對當前左視圖圖像的圖像間運動補償,可只參考屬于當前左視圖圖像的當前gop但在當前左視圖圖像之前重建的左視圖圖像,而不參考屬于當前左視圖圖像的所屬的當前gop之前的先前gop的左視圖圖像。這同樣適用于右視圖圖像。
圖5b是示出了通過多視圖相機獲取的多視圖視頻幀和通過深度相機獲取的深度圖幀的示意圖。
參考圖5b,示出了與第一視圖“視圖0”的顏色視頻幀56對應的第一視圖“視圖0”的深度圖幀58、與第二視圖“視圖1”的顏色視頻幀56對應的第二視圖“視圖1”的深度圖幀58、以及與第三視圖“視圖2”的顏色視頻幀56對應的第三視圖“視圖2”的深度圖幀58。雖然圖5b以三個視圖“視圖0、視圖1和視圖2”示出了多視圖顏色視頻幀56以及相應的深度圖幀58,但是視圖的數量可根據實施方式而變化。另外,在圖5b中,多視圖顏色視頻幀56可以是亮度分量視頻幀(y)和色度分量視頻幀(cb,cr)中的一項。
參考圖5b,因為相同視圖的圖像通過顏色和深度來表征,所以在相同視圖的深度圖幀與顏色視頻幀之間存在關聯。即,當將多視圖顏色視頻幀56與相應深度圖幀58進行比較時,存在預定的關聯,例如,可識別主體的輪廓。因此,根據實施方式,層間視頻編碼設備45和層間視頻數據解碼設備20可基于多視圖顏色視頻幀56與相應深度圖幀58之間的關聯通過利用幀內深度預測根據多視圖顏色視頻幀56對相應深度圖幀58進行預測編碼來改善多視圖視頻數據的壓縮效率。具體地,根據本發明構思的實施方式,層間視頻編碼設備45和層間視頻解碼設備40可基于像素值將多視圖顏色視頻幀56的塊分割成分區,將相應深度圖幀58的塊分割成類似于多視圖顏色視頻幀56的塊的分區,通過使用多視圖顏色視頻幀56的塊分區的鄰近像素值和深度圖幀的塊分區的鄰近像素值獲取代表多視圖顏色視頻幀的塊分區與深度圖幀的塊分區之間的關聯的參數,以及通過使用利用所獲取的參數確定的關聯根據多視圖顏色視頻幀56的塊的分割來預測相應深度幀的塊分區。
圖6a和圖6b示出了與在預測諸如多層視頻的多視圖視頻的方法中利用顏色信息和深度信息的預測模式有關的內容。
圖6a是示出了根據實施方式在層間視頻解碼設備40的解碼過程中使用的編碼工具的示意圖。
在本實施方式中,諸如單視圖解碼器61、深度圖解碼器62、多視圖解碼器63和多視圖深度圖解碼器64的層間視頻解碼設備40可在物理上進行劃分;然而,本領域普通技術人員可容易理解一個層間視頻解碼設備40可在功能上進行劃分。
參考圖6a,視圖0的顏色圖像的編碼信息可通過使用單視圖解碼器61進行解碼。在單視圖解碼器61的情況下,用于解碼的工具可在不使用深度圖圖像或其它視圖圖像的情況下執行解碼。
視圖0的深度圖像的編碼信息可被輸入以作為深度圖解碼器62的輸入。不同于單視圖解碼器61,深度圖解碼器62可使用解碼后的視圖0的顏色圖像。可通過附加信息重建深度圖像(其中,顏色圖像的特定像素存儲有主體與相機的距離信息),然后可與顏色圖像一起合成虛擬視圖圖像。可通過虛擬視圖圖像來表現3d立體圖。
因此,在用于3d立體圖像的顏色圖像和深度圖像中,通過使用深度圖像對顏色圖像進行編碼的工具、通過使用顏色圖像對深度圖像進行編碼的工具、未使用深度圖像對顏色圖像進行編碼的工具或者未使用顏色圖像對深度圖像進行編碼的工具將稱為3d編碼工具。具體地,因為未使用顏色圖像對深度圖像進行解碼的編碼工具以及僅對深度圖像進行解碼的工具可與顏色圖像的編碼信息一起使用來生成3d圖像,所以這二者可被稱為3d編碼工具。
同于對深度圖像進行編碼/解碼的工具可包括sdc(區段直流編碼)和dmm(深度建模模式)。sdc(區段直流編碼)可以是用于以直流形式對深度圖像的殘差信號進行解碼的工具或模式。dmm(深度建模模式)可以是用于對深度圖像進行分割和解碼的工具或模式。用于對其它深度圖像進行解碼的工具的示例可包括mpi(運動參數繼承)和ddd(視差導出深度)。在這種情況下,mpi(運動參數繼承)可參考使用顏色圖像的運動信息的編碼工具或模式以用于對深度圖像進行解碼以恢復原樣。在這種情況下,ddd(視差導出深度)可參考使用顏色圖像的運動信息的編碼工具或模式以作為恢復原樣的深度圖像的重建樣本值。
視圖1的顏色圖像的編碼信息可被輸入以作為多視圖解碼器63的輸入。多視圖解碼器可通過使用視圖0的顏色圖像以及視圖0的深度圖像的編碼信息執行解碼。在這種情況下,用于參考視圖0的顏色圖像和視圖0的深度圖像中的至少一項執行解碼的工具可被包括在3d編碼工具中以作為用于生成多視圖圖像的工具。
3d編碼工具的示例可包括arp(高級殘差預測)、ic(光照補償)、vsp(視圖合成預測)、dbbp(基于深度的塊分區)以及ivmp(視圖間運動參數預測)。arp(高級殘差預測)可以是用于根據多視圖圖像預測殘差信號的工具。ic(光照補償)可以是用于根據鄰近視圖的圖像補償當前圖像的亮度的工具。vsp(視圖合成預測)可以是用于通過利用鄰近視圖的顏色圖像或深度圖像作為參考圖像使用合成圖像或深度圖像來執行預測編碼的工具或模式。ivmp(視圖間運動參數預測)可以是用于通過使用深度圖像復制相鄰視圖的圖像中的運動信息的模式或編碼工具。dbbp(基于深度的塊分區)可以是通過將顏色圖像分割成深度圖像來執行預測的編碼工具。另外,3d編碼工具可包括在增強層圖像或代表深度信息的深度圖像中使用的編碼工具。
視圖1的深度圖像的編碼信息可被輸入以作為多視圖深度圖解碼器64的輸入。多視圖解碼器可通過使用視圖0的顏色圖像以及視圖0的深度圖像執行解碼。另外,可通過使用視圖1的顏色圖像進行解碼。通過使用視圖1的顏色圖像和視圖0的顏色圖像以及深度圖像執行解碼的編碼工具可被包括在用于生成多視圖圖像的3d編碼工具中。
雖然已在上文描述了在層間視頻解碼設備40中執行的示例,但本領域普通技術人員可容易理解,也可在層間視頻編碼設備45中執行。
圖6b是示出了根據實施方式的層間視頻解碼設備40根據預測單元尺寸、預測模式和顏色深度信息使用編碼工具的內容的示意圖。
參考圖6b,編碼單元65根據尺寸66被分成各種預測單元。層間視頻解碼設備40可從比特流接收分區模式信息以確定預測單元的尺寸。例如,當接收到part2n×2n信息以作為與編碼單元65有關的分區模式信息時,層間視頻解碼設備40可將預測單元設置為具有與編碼單元65相同尺寸。此處,n可代表編碼單元的高度或寬度的一半。分區模式信息可包括諸如part2n×2n、part2n×n、partn×2n、partn×n、part2n×nu、part2n×nd、partnl×2n以及partnr×2n的信息。此處,nu、nd、nl和nr中的每項可代表與編碼單元的1/4對應的部分的位置。
根據本發明構思的實施方式,在層間視頻解碼設備40中,可限制根據預測模式的預測單元的尺寸。例如,當在層間視頻解碼設備40中確定的預測模式是幀內預測模式時,分區模式信息可僅包括part2n×2n和partn×n。
從比特流中獲取的分區模式信息可僅表示編碼單元65的相對尺寸。因此,為了確定預測單元的絕對尺寸,應首先確定編碼單元的尺寸。層間視頻解碼設備40可基于最大尺寸的編碼單元信息和表示分割程度的分割信息來確定編碼單元的尺寸。
例如,當最大尺寸的編碼單元信息表示65×65個像素以及分割信息表示兩次分割時,因為其對應于兩次四分法,所以可確定編碼單元的尺寸為16×16。另外,當分區模式信息是partn×n時,其對應于編碼單元的1/4,因此預測單元的尺寸是8×8。因此,可基于分區模式信息和所確定的編碼65的分割尺寸來確定預測單元的尺寸。然而,本發明構思不限于此,以及可基于各種類型的信息獲取與預測單元的尺寸相關的信息。
根據本發明構思的實施方式,當編碼單元的尺寸和預測單元的尺寸彼此相同時,即,當編碼單元的分區模式信息表示為part2n×2n時,層間視頻解碼設備40可通過使用預定編碼工具對預測單元執行解碼。在這種情況下,預定編碼工具可以是3d編碼工具。因此,可通過使用預定編碼工具來減輕工作負荷,從而在編碼單元不再被分割的單元中執行預測解碼。另外,根據本發明構思的實施方式,層間視頻解碼設備40對于具有預定尺寸或更小尺寸的塊可不通過使用預定編碼工具對預測單元執行解碼。例如,僅當預測單元的尺寸等于或大于8×8時,層間視頻解碼設備40可通過使用預定編碼工具執行解碼。另外,僅當預測單元的尺寸除了大于8×4和4×8時,層間視頻解碼設備40可通過使用預定編碼工具執行解碼。另外,僅在非amp(不對稱運動分割)形狀的情況下(例如,諸如part2n×nu、part2n×nd、partnl×2n以及partnr×2n的形狀),層間視頻解碼設備40可通過使用預定編碼工具執行解碼。
另外,僅當預測單元的尺寸等于或大于8×8時,層間視頻解碼設備40可通過使用預定編碼工具執行解碼。然而,預測單元不限于這樣的尺寸,以及層間視頻解碼設備40可根據各種尺寸確定是否使用預定編碼工具以及可根據這樣的確定來對預測單元執行解碼。例如,僅當預測單元的尺寸不是8×4和4×8時,可使用mpi(運動參數繼承)、ivmp(視圖間運動參數預測)或ddd(視差導出深度)來執行解碼。例如,僅當預測單元的尺寸不是8×4和4×8時,可使用mpi(運動參數繼承)、ivmp(視圖間運動參數預測)、vsp(視圖合成預測)、或ddd(視差導出深度)來執行解碼。例如,僅當分區模式信息是part2n×2n時,可使用arp(高級殘差預測)、ic(光照補償)或sdc(區段直流編碼)來執行解碼。
參考圖6b,編碼單元65的預測模式可變化。預測模式可通常包括幀間預測模式(即,圖片間預測模式)和幀內預測模式(即,圖片內預測模式)。
在本實施方式中,幀間預測模式可包括通過使用不同視圖圖像執行預測的模式。幀間預測模式可包括跳躍模式、合并模式以及amvp(高級運動矢量預測器)。
合并模式可以指通過將當前預測單元與相鄰數據單元進行合并來推導參考方向、參考圖片索引、視差矢量和運動矢量預測值,從而預測預測單元的模式。跳躍模式可以指僅傳輸鄰近塊選擇信息而不傳輸殘差圖像的模式。amvp是僅從鄰近塊推導運動矢量預測值的技術,其中,差分運動矢量、參考圖片標識信息和參考圖片索引被包括在比特流中并以比特流的形式傳輸。
與預測模式有關的信息可包括與包括預測單元的編碼單元65的預測模式有關的信息。例如,當編碼單元65的預測模式是幀內預測模式時,包括在編碼單元65中的預測單元的預測模式也可以是幀內預測模式。
根據本發明構思的實施方式,當預測單元的預測模式是特定模式時,層間視頻解碼按設備40可被限制為使用預定編碼工具。可替代地,僅當預測單元的預測模式是合并模式時,層間視頻解碼設備40可通過使用預定編碼工具對預測單元執行解碼。另外,當預測單元的預測模式是跳躍模式時,層間視頻解碼設備40可通過使用預定編碼工具對預測單元執行解碼。例如,在合并模式的情況下,可使用vsp(視圖合成預測)作為預定編碼工具中的一種以執行解碼。例如,在合并模式的情況下,可使用mpi(運動參數繼承),ivmp(視圖間運動參數預測)、ddd(視差導出深度)或vsp(視圖合成預測)來執行解碼。通過使用3d編碼工具在具有相對小工作負荷的預測模式下執行解碼,可減少層間視頻解碼設備40的工作負荷。
參考圖6b,預測單元可包括顏色信息或深度信息(下文中簡稱為顏色深度信息)。本文中,顏色信息可包括亮度信息和色度信息。深度信息可表示與顏色信息所對應的塊的、主體與相機之間的距離信息。層間視頻解碼設備40可通過從比特流中獲取與包括預測單元(諸如幀單元)的單元有關的深度信息或顏色信息來確定預測單元的深度信息或顏色信息。
根據本發明構思的實施方式,當預測單元包括深度信息時,層間視頻解碼設備40可通過使用預定編碼工具來執行解碼。可替代地,當預測單元包括顏色信息時,層間視頻解碼設備40可通過使用另一預定編碼工具來執行解碼。
如上所述,根據本發明構思的實施方式的層間視頻解碼設備40可根據從比特流中獲取的尺寸以及預測模式或顏色深度信息中的一個條件來確定是否通過使用預定編碼工具執行解碼。然而,本發明構思不限于此,以及可根據是否滿足多個條件來確定是否使用預定編碼工具執行解碼。例如,當預測單元的預測模式是合并模式并且預測單元的尺寸等于編碼單元的尺寸時,層間視頻解碼設備40可確定是否通過使用預定編碼工具執行解碼。另外,例如,當預測單元包括深度信息并且預測單元的尺寸等于編碼單元的尺寸時,層間視頻解碼設備40可確定是否通過使用預定編碼工具執行解碼。另外,例如,當預測單元的預測模式是合并模式并且預測單元的尺寸等于或大于8×8時,層間視頻解碼設備40可確定是否通過使用預定編碼工具執行解碼。例如,僅當預測模式是合并模式并且預測單元的尺寸不是8×4和4×8時,可使用mpi(運動參數繼承)、ivmp(視圖間運動參數預測)、或ddd(視差導出深度)來執行解碼。例如,僅當預測模式是合并模式并且預測單元的尺寸不是8×4和4×8時,可使用mpi(運動參數繼承)、ivmp(視圖間運動參數預測)、vsp(視圖合成預測)或ddd(視差導出深度)來執行解碼。
上文主要描述了根據本發明構思的實施方式的層間視頻解碼設備40。層間視頻解碼設備40通過從比特流中獲取顏色深度信息、尺寸信息以及與預測單元有關的預測模式來確定是否使用預定編碼工具,而層間視頻編碼設備45通過應用各種預測模式或尺寸來對預測單元執行編碼,根據計算的率失真成本來確定預測模式或尺寸,以及根據確定的預測模式或尺寸來將預測單元分割成一個或多個預測單元。層間視頻編碼設備45與層間視頻解碼設備40的不同之處僅在于層間視頻編碼設備45基于顏色深度、尺寸和分割預測單元的預測模式來確定是否使用預定編碼工具,以及確定是否使用預定編碼單元的操作與層間視頻解碼設備40的操作相同。因此,出于簡潔起見,將省略對編碼器的操作的多余的描述。
圖7示出了根據各種實施方式基于樹形結構的編碼單元的視頻編碼設備100的框圖。圖7的視頻編碼設備100可與圖1b的視頻編碼設備15對應。另外,可通過圖1b的控制器16來執行圖7中最大編碼單元分割器110和編碼單元確定器120執行的操作,以及可通過圖1b的比特流生成器17來執行圖7中輸出單元130執行的操作。
基于根據樹形結構的編碼單元的、涉及視頻預測的視頻編碼設備100包括編碼單元確定器120和輸出單元130。在下文中,為便于描述,基于根據樹形結構的編碼單元的、涉及視頻預測的視頻編碼設備100被稱為“視頻編碼設備100”。
編碼單元確定器120可基于最大編碼單元來分割當前圖片,所述最大編碼單元是具有圖像的當前圖片的最大尺寸的編碼單元。如果當前圖片大于最大編碼單元,那么當前圖片的圖像數據可被分割成至少一個最大編碼單元。根據實施方式的最大編碼單元可以是具有32×32、64×64、128×128、256×256等尺寸的數據單元,其中數據單元的形狀是具有2的平方的寬度和長度的正方形。
根據實施方式的編碼單元的特征可以是最大尺寸和深度。深度表示編碼單元從最大編碼單元空間分割的次數,并且隨著深度加深,根據深度的較深編碼單元可從最大編碼單元分割到最小編碼單元。最大編碼單元的深度可限定為最淺深度,并且最小編碼單元的深度可限定為最深深度。由于對應于每個深度的編碼單元的尺寸隨著最大編碼單元的深度加深而減小,因此,對應于較淺深度的編碼單元可包括對應于較深深度的多個編碼單元。
如上文所述,當前圖片的圖像數據根據編碼單元的最大尺寸分割成最大編碼單元,并且每個最大編碼單元可包括根據深度分割的較深編碼單元。由于根據實施方式的最大編碼單元根據深度進行分割,因此,最大編碼單元中包括的空間域的圖像數據可根據深度進行分層分類。
限制最大編碼單元的高度和寬度進行分層分割的總次數的編碼單元的最大深度和最大尺寸可以預先確定。
編碼單元確定器120對通過根據深度分割最大編碼單元的區域而獲得的至少一個分割區域進行編碼,并且根據至少一個分割區域確定輸出最終編碼的圖像數據的深度。即,通過根據當前圖片的最大編碼單元對根據深度的較深編碼單元中的圖像數據進行編碼并且選擇具有最小編碼誤差的深度,編碼單元確定器120確定最終深度。所確定的最終深度和根據最大編碼單元的編碼圖像數據輸出到輸出單元130。
最大編碼單元中的圖像數據基于與等于或小于最大深度的至少一個深度對應的較深編碼單元進行編碼,并且將基于較深編碼單元中的每個編碼單元對圖像數據進行編碼的結果進行比較。在比較較深編碼單元的編碼誤差之后,可選擇具有最小編碼誤差的深度。針對每個最大編碼單元,可選擇至少一個最終深度。
隨著編碼單元根據深度進行分層分割,并且隨著編碼單元的數量增加,最大編碼單元的尺寸被分割。此外,即使編碼單元對應于一個最大編碼單元中的相同深度,也要通過分別測量每個編碼單元的圖像數據的編碼誤差來確定是否將對應于相同深度的編碼單元中的每個編碼單元分割到較深深度。因此,即使在圖像數據被包括在一個最大編碼單元中時,編碼誤差也可根據這一個最大編碼單元中的區域而不同,因此,最終深度可根據圖像數據中的區域而不同。因此,在一個最大編碼單元中可確定一個或多個最大深度,并且最大編碼單元的圖像數據可根據至少一個最終深度的編碼單元而劃分。
因此,根據實施方式的編碼單元確定器120可確定最大編碼單元中包括的具有樹形結構的編碼單元。根據實施方式的“具有樹形結構的編碼單元”包括在最大編碼單元所包括的所有較深編碼之中的、與確定為最終深度的深度對應的編碼單元。最終深度的編碼單元可根據最大編碼單元的相同區域中的深度來分層確定,并且可在不同區域中獨立確定。同樣地,當前區域中的最終深度可獨立于另一區域中的最終深度而確定。
根據實施方式的最大深度是與從最大編碼單元到最小編碼單元的分割次數相關的索引。根據實施方式的第一最大深度可表示從最大編碼單元到最小編碼單元的總分割次數。根據實施方式的第二最大深度可表示從最大編碼單元到最小編碼單元的深度等級的總數。例如,當最大編碼單元的深度為0時,最大編碼單元被分割一次的編碼單元的深度可設置為1,并且最大編碼單元被分割兩次的編碼單元的深度可設置為2。在這種情況下,如果最小編碼單元是最大編碼單元被分割四次的編碼單元,那么存在深度0、1、2、3和4的深度等級,因此,第一最大深度可設置為4,而第二最大深度可設置為5。
預測編碼和變換可根據最大編碼單元來執行。預測編碼和變換也根據最大編碼單元基于根據等于或小于最大深度的深度的較深編碼單元來執行。
由于每當最大編碼單元根據深度分割時較深編碼單元的數量都增加,因此,需要在隨著深度加深而生成的所有較深編碼單元上執行包括預測編碼和變換在內的編碼。下文中,為便于描述,將基于在至少一個最大編碼單元中的當前深度的編碼單元描述預測編碼和變換。
根據實施方式的視頻編碼設備100可不同地選擇用于對圖像數據進行編碼的數據單元的尺寸或形狀。為了對圖像數據進行編碼,執行諸如預測編碼、變換和熵編碼的操作,并且同時,可將相同的數據單元用于所有操作或者將不同的數據單元用于每個操作。
例如,視頻編碼設備100不僅可選擇用于對圖像數據進行編碼的編碼單元,而且也可選擇不同于編碼單元的數據單元,從而在編碼單元中的圖像數據上執行預測編碼。
為了在最大編碼單元中執行預測編碼,可基于最終深度的編碼單元(即,基于不再分割的編碼單元)執行預測編碼。通過分割預測單元而獲得的分區可包括編碼單元以及通過分割編碼單元的高度和寬度中的至少一項而獲得的數據單元。分區可包括編碼單元被分割的數據單元以及與編碼單元具有相同尺寸的數據單元。作為預測基礎的分區可稱為“預測單元”。
例如,當2n×2n(其中n是正整數)的編碼單元不再分割并且成為2n×2n的預測單元時,分區的尺寸可以是2n×2n、2n×n、n×2n或n×n。分區模式的示例可包括通過對稱地分割預測單元的高度或寬度而獲得的對稱分區,以及可選擇性地包括通過不對稱地分割預測單元的高度或寬度(諸如1:n或n:1)而獲得的分區、通過幾何分割預測單元而獲得的分區以及具有任意形狀的分區。
預測單元的預測模式可以是幀內模式(intramode)、幀間模式(intermode)和跳躍模式(skipmode)中的至少一項。例如,幀內模式和幀間模式可在2n×2n、2n×n、n×2n或n×n的分區上執行。此外,跳躍模式可以只在2n×2n的分區上執行。編碼可在編碼單元中的一個預測單元上獨立執行,從而選擇具有最小編碼誤差的預測模式。
根據實施方式的視頻編碼設備100也可不僅基于用于對圖像數據進行編碼的編碼單元而且基于不同于編碼單元的數據單元而在編碼單元中的圖像數據上執行變換。為了在編碼單元中執行變換,可基于具有小于或等于編碼單元的尺寸的數據單元來執行變換。例如,變換單元可包括用于幀內模式的數據單元和用于幀間模式的變換單元。
編碼單元中的變換單元可按與編碼單元根據樹形結構進行分割的類似方式遞歸地分割成更小尺寸的區域。因此,編碼單元中的殘差數據可根據具有樹形結構的變換單元依據變換深度進行劃分。
表明通過分割編碼單元的高度和寬度來達到變換單元的分割次數的變換深度也可設置在變換單元中。例如,在2n×2n的當前編碼單元中,當變換單元的尺寸是2n×2n時變換深度可為0,當變換單元的尺寸是n×n時變換深度可為1,以及當變換單元的尺寸是n/2×n/2時變換深度可為2。即,對于變換單元,具有樹形結構的變換單元可根據變換深度進行設置。
根據深度的分割信息不僅需要與深度有關的信息,而且需要與預測編碼和變換相關的信息。因此,編碼單元確定器120可不僅確定生成最小編碼誤差的深度,而且可確定將預測單元分割成分區的分區模式、根據預測單元的預測模式以及用于變換的變換單元的尺寸。
下文將參考圖9到圖19詳細描述根據實施方式的最大編碼單元中的根據樹形結構的編碼單元以及確定預測單元/分區和變換單元的方法。
編碼單元確定器120可通過使用基于拉格朗日乘子的率失真優化(rate-distortionoptimization)來測量根據深度的較深編碼單元的編碼誤差。
輸出單元130以比特流的形式輸出基于由編碼單元確定器120確定的至少一個深度進行編碼的最大編碼單元的圖像數據以及根據深度的分割信息。
編碼的圖像數據可與通過對圖像的殘差數據進行編碼而獲得的結果對應。
根據深度的分割信息可包括深度信息、預測單元中的分區模式信息、預測模式信息以及變換單元的分割信息。
最終深度信息可通過使用根據深度的分割信息進行限定,從而表明是否在較深深度而非當前深度的編碼單元上執行編碼。如果當前編碼單元的當前深度是深度,那么通過使用當前深度的編碼單元對當前編碼單元進行編碼,因此,當前深度的分割信息可限定為不將當前編碼單元分割到較深深度。相反,如果當前編碼單元的當前深度不是該深度,那么需要在較深深度的編碼單元上執行編碼,因此,當前深度分割信息可限定為將當前編碼單元分割到較深深度的編碼單元。
如果當前深度不是該深度,那么在分割成較深深度的編碼單元的編碼單元上執行編碼。由于較深深度的至少一個編碼單元存在于當前深度的一個編碼單元中,因此,可在較深深度的每個編碼單元上重復執行編碼,從而可針對具有相同深度的編碼單元遞歸地執行編碼。
由于針對一個最大編碼單元確定具有樹形結構的編碼單元并且需要針對深度的編碼單元確定至少一項分割信息,因此,可針對一個最大編碼單元確定至少一項分割信息。此外,最大編碼單元的數據的深度可根據位置而變化,這是因為數據根據深度進行分層分割,因此,可針對數據來設置深度和分割信息。
因此,根據實施方式的輸出單元130可將與相應深度和編碼模式有關的編碼信息分配到最大編碼單元中包括的編碼單元、預測單元和最小單元中的至少一項。
根據實施方式的最小單元是通過將構成最深深度的最小編碼單元分割成4個而獲得的正方形數據單元。或者,根據實施方式的最小單元可以是可被包括在最大編碼單元所包括的編碼單元、預測單元、分區單元和變換單元的全部中的最大正方形數據單元。
例如,由輸出單元130輸出的編碼信息可分類成根據較深編碼單元的編碼信息和根據預測單元的編碼信息。根據較深編碼單元的編碼信息可包括與預測模式有關的信息和與分區的尺寸有關的信息。根據預測單元的編碼信息可包括與幀間模式期間的估測方向有關的信息、與幀間模式的參考圖像索引有關的信息、與運動矢量有關的信息、與幀內模式期間的色度分量有關的信息以及與幀內模式的內插法有關的信息。
與根據圖片、截片或gop限定的編碼單元的最大尺寸有關的信息以及與最大深度的有關信息可插入到比特流的標頭、序列參數集或圖像參數集中。
與當前視頻準許的變換單元的最大尺寸的有關信息以及與變換單元的最小尺寸有關的信息也可通過比特流的標頭、序列參數集或圖片參數集輸出。輸出單元130可對與預測相關的參考信息、預測信息和截片類型信息進行編碼并輸出這些信息。
根據視頻編碼設備100的最簡單實施方式,較深編碼單元可以是通過將較淺深度的編碼單元(上一層的編碼單元)的高度或寬度一分為二所得到的編碼單元。即,在當前深度的編碼單元的尺寸是2n×2n時,較深深度的編碼單元的尺寸是n×n。此外,具有2n×2n尺寸的當前編碼單元可最多包括四個各具有n×n尺寸的較深深度編碼單元。
因此,通過基于最大編碼單元的尺寸和考慮到當前圖片的特征而確定的最大深度來確定每個最大編碼單元的具有最佳形狀和最佳尺寸的編碼單元,視頻編碼設備100可形成具有樹形結構的編碼單元。此外,由于可通過使用各種預測模式和變換中的任一項在每個最大編碼單元上執行編碼,因此,可根據各種圖像尺寸的編碼單元的特征來確定最佳編碼模式。
因此,如果具有高分辨率或大數據量的圖像在傳統宏塊中編碼,那么每個圖片的宏塊數量過度增加。因此,針對每個宏塊生成的壓縮信息的數量增加,因而難以傳輸壓縮的信息并且數據壓縮效率降低。然而,通過使用根據實施方式的視頻編碼設備,可提高圖像壓縮效率,這是因為在考慮圖像的特征同時調整編碼單元,同時考慮圖像的尺寸而增大編碼單元的最大尺寸。
圖8示出了根據各種實施方式的基于樹形結構的編碼單元的視頻解碼設備200的框圖。圖8的視頻解碼設備200可與圖1a的視頻解碼設備10對應。另外,可通過圖1a的控制器11執行圖8的圖像數據與編碼信息提取器220和圖像數據解碼器230執行的操作,以及可通過圖1a的信息獲取器12執行圖8的接收器210執行的操作。
根據實施方式的基于樹形結構的編碼單元的、涉及視頻預測的視頻解碼設備包括接收器210、圖像數據與編碼信息提取器220以及圖像數據解碼器230。下文中,為便于描述,根據實施方式的基于樹形結構的編碼單元的、涉及視頻預測的視頻解碼設備200被稱為“視頻解碼設備200”。
根據實施方式,用于視頻解碼設備200的解碼操作的各種術語(諸如,編碼單元、深度、預測單元、變換單元和各種分割信息)的定義與參考圖7和視頻編碼設備100描述的那些定義相同。
接收器210接收并解析編碼視頻的比特流。圖像數據與編碼信息提取器220從解析的比特流中提取用于每個編碼單元的編碼圖像數據,其中編碼單元具有根據每個最大編碼單元的樹形結構,并且將提取的圖像數據輸出到圖像數據解碼器230。圖像數據與編碼信息提取器220可從與當前圖片有關的標頭、序列參數集或圖片參數集中提取與當前圖片的編碼單元的最大尺寸有關的信息。
此外,圖像數據與編碼信息提取器220從解析的比特流中提取與根據每個最大編碼單元的具有樹形結構的編碼單元有關的最終深度和分割信息。提取的最終深度和分割信息輸出到圖像數據解碼器230。即,比特流中的圖像數據分割成最大編碼單元,使得圖像數據解碼器230可針對每個最大編碼單元將圖像數據解碼。
根據每個最大編碼單元的深度和分割信息可針對一項或多項深度信息進行設置,并且根據深度的分割信息可包括對應編碼單元的分區模式信息、預測模式信息以及變換單元分割信息。此外,根據深度的分割信息可被提取作為深度信息。
由圖像數據與編碼信息提取器220提取的根據每個最大編碼單元的深度和分割信息是被確定當諸如視頻編碼設備100等編碼器根據每個最大編碼單元針對根據深度的每個較深編碼單元重復執行編碼時會生成最小編碼誤差的深度和分割信息。因此,視頻解碼設備200可通過根據生成最小編碼誤差的編碼方法對數據進行解碼來重建圖像。
由于與深度和編碼模式有關的編碼信息可分配到對應編碼單元、預測單元和最小單元之中的預定數據單元,因此,圖像數據與編碼信息提取器220可根據預定數據單元提取深度和分割信息。如果對應最大編碼單元的深度和分割信息根據每個預定數據單元進行記錄,那么可以推斷,具有相同深度和相同分割信息的預定數據單元可以是相同最大編碼單元中包括的數據單元。
圖像數據解碼器230可通過基于根據每個最大編碼單元的深度和分割信息將每個最大編碼單元中的圖像數據解碼來重建當前圖片。即,圖像數據解碼器230可基于與每個最大編碼單元中包括的具有樹形結構的編碼單元之中的每個編碼單元的分區模式、預測模式和變換單元有關的讀取信息對編碼的圖像數據進行解碼。解碼過程可包括預測過程和逆變換過程,所述預測過程包括幀內預測和運動補償。
基于與根據深度的編碼單元的預測單元的分區模式和預測模式有關的信息,圖像數據解碼器230可根據每個編碼單元的分區和預測模式來執行幀內預測或運動補償。
此外,圖像數據解碼器230可讀取與用于每個編碼單元的根據樹形結構的變換單元有關的信息,從而基于每個編碼單元的變換單元來執行逆變換,從而針對每個最大編碼單元進行逆變換。經由逆變換,可重建編碼單元的空間域的像素值。
圖像數據解碼器230可通過使用根據深度的分割信息來確定當前最大編碼單元的深度。如果分割信息表明圖像數據不再以當前深度分割,那么當前深度就是深度。因此,圖像數據解碼器230可通過使用與當前深度對應的每個編碼單元的、與預測單元的分區模式、預測模式信息和變換單元的尺寸有關的信息來對當前最大編碼單元中的圖像數據進行解碼。
即,通過觀察分配給編碼單元、預測單元和最小單元之中的預定數據單元的編碼信息集,可收集含有包括相同分割信息的編碼信息的數據單元,并且可將收集的數據單元視作將由圖像數據解碼器230以相同編碼模式解碼的一個數據單元。因此,可通過獲取與用于每個編碼單元的編碼模式有關的信息來對當前編碼單元進行解碼。
上文參考圖3a描述的圖像解碼設備30可包括與視圖的數量對應數量的視頻解碼設備200,從而通過對所接收的第一層圖像流和所接收的第二層圖像流進行解碼來重建第一層圖像和第二層圖像。
當接收到第一層圖像流時,視頻解碼設備200的圖像數據解碼器230可將由提取器220從第一層圖像流中提取的第一層圖像的樣本分割成根據最大編碼單元的樹形結構的編碼單元。圖像數據解碼器230基于用于圖像間預測的預測單元在根據第一層圖像的樣本的樹形結構的每個編碼單元上執行運動補償,以及可重建第一層圖像。
當接收到第二層圖像流時,視頻解碼設備200的圖像數據解碼器230可將由提取器220從第二層圖像流中提取的第二層圖像的樣本分割成根據最大編碼單元的樹形結構的編碼單元。圖像數據解碼器230基于用于圖像間預測的預測單元在第二層圖像的樣本的每個編碼單元上執行運動補償,以及可重建第二層圖像。
提取器220可從比特流中獲取與亮度誤差相關的信息,從而補償第一層圖像與第二層圖像之間的亮度差。然而,可根據編碼單元的編碼模式來確定是否執行亮度補償。例如,可以只在具有2n×2n尺寸的預測單元上執行亮度補償。
因此,視頻解碼設備200可獲取與在針對每個最大編碼單元遞歸地執行編碼時生成最小編碼誤差的至少一個編碼單元有關的信息,并且可使用該信息來對當前圖片進行解碼。即,可對確定是每個最大編碼單元中的最佳編碼單元的、具有樹形結構的編碼單元進行解碼。
因此,即使圖像數據具有高分辨率和大數據量,圖像仍可通過使用編碼單元的尺寸和編碼模式來高效解碼和重建,所述編碼單元的尺寸和編碼模式是通過使用從編碼終端接收的最佳分割信息根據圖像的特征而自適應地確定的。
圖9示出了描述根據各種實施方式的編碼單元的概念的示意圖。
編碼單元的尺寸可由寬度×高度來表示,并且可以是64×64、32×32、16×16和8×8。64×64的編碼單元可分割成64×64、64×32、32×64或32×32的分區,并且32×32的編碼單元可分割成32×32、32×16、16×32或16×16的分區,16×16的編碼單元可分割成16×16、16×8、8×16或8×8的分區,以及8×8的編碼單元可分割成8×8、8×4、4×8或4×4的分區。
在視頻數據310中,分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是2。在視頻數據320中,分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是3。在視頻數據330中,分辨率是352×288,編碼單元的最大尺寸是16,并且最大深度是1。圖10所示的最大深度是指從最大編碼單元到最小編碼單元的總分割次數。
如果分辨率較高或數據量較大,那么優選地,編碼單元的最大尺寸比較大,從而不僅增加編碼效率,而且準確反映圖像的特征。因此,分辨率比視頻數據330高的視頻數據310和320的編碼單元的最大尺寸可以選擇為64。
由于視頻數據310的最大深度是2,因此,視頻數據310的編碼單元315可包括長軸尺寸為64的最大編碼單元,以及長軸尺寸為32和16的編碼單元,這是因為通過將最大編碼單元分割兩次,深度加深兩個層。另一方面,由于視頻數據330的最大深度是1,因此,視頻數據330的編碼單元335可包括長軸尺寸為16的最大編碼單元,以及長軸尺寸為8的編碼單元,這是因為通過將最大編碼單元分割一次,深度加深一層。
由于視頻數據320的最大深度是3,因此,視頻數據320的編碼單元325可包括長軸尺寸為64的最大編碼單元,以及長軸尺寸為32、16和8的編碼單元,這是因為通過將最大編碼單元分割三次,深度加深3個層。隨著深度加深,可改善表達詳細信息的能力。
圖10示出了各種實施方式的基于編碼單元的圖像編碼器400的框圖。
根據實施方式的圖像編碼器400執行視頻編碼設備100的圖片編碼器120的操作,以對圖像數據進行編碼。即,幀內預測器420對當前圖像405中的編碼單元以幀內模式執行幀內預測,并且幀間預測器415通過使用當前圖像405和由重建圖片緩存器410獲取的參考圖像根據預測單元對編碼單元以幀間模式執行幀間預測。當前圖像405可被分割成最大編碼單元,隨后最大編碼單元可相繼被編碼。就此而言,可對將分割成具有樹形結構的編碼單元最大編碼單元執行編碼。
通過從當前圖像405與編碼的編碼單元有關的數據中扣除從幀內預測器420或幀間預測器415中輸出的每個模式的編碼單元的預測數據,生成殘差數據,并且殘差數據作為經量化的變換系數通過變換器425和量化器430根據變換單元輸出。經量化的變換系數通過反量化器445和逆變換器450而重建成空間域中的數據。將重建的空間域中的殘差數據添加到從幀內預測器420或幀間預測器415中輸出的每個模式的編碼單元的預測數據,從而重建成當前圖像405的編碼單元的空間域中的數據。重建的空間域中的數據經過去塊化器455和sao執行器460,從而生成重建的圖像。重建的圖像存儲在重建圖片緩存器410中。存儲在重建圖片緩存器410中的所重建的圖像可用作另一圖像的幀間預測的參考圖像。通過變換器425和量化器430量化的變換系數可通過熵編碼器435而輸出為比特流440。
為了將圖像編碼器400應用于視頻編碼設備100,圖像編碼器400的全部元件(即,幀間預測器415、幀內預測器420、變換器425、量化器430、熵編碼器435、反量化器445、逆變換器450、去塊化單元455和sao執行器460)可基于根據每個最大編碼單元的具有樹形結構的編碼單元之中的每個編碼單元來執行操作。
具體而言,幀內預測器420和幀間預測器415可根據當前最大編碼單元的最大尺寸和最大深度確定具有樹形結構的編碼單元之中的每個編碼單元的分區模式和預測模式,并且變換器425可確定是否根據具有樹形結構的編碼單元之中的每個編碼單元中的四叉樹來分割變換單元。
圖11示出了根據各種實施方式的基于編碼單元的圖像解碼器500的框圖。
熵解碼器515從比特流505中解析待解碼的編碼圖像數據和解碼所需的編碼信息。編碼圖像數據對應于經量化的變換系數,并且反量化器520和逆變換器525從經量化的變換系數中重建殘差數據。
幀內預測器540根據預測單元以幀內模式對編碼單元執行幀內預測。幀間預測器535通過使用當前圖像中的與幀間模式的編碼單元有關的參考圖像執行幀間預測,其中,參考圖像根據預測單元通過重建圖片緩存器530獲取。
將經過幀內預測器540或幀間預測器535的、與每個模式的編碼單元有關的預測數據和殘差數據相加,使得可重建與當前圖像405的編碼單元有關的空間域數據,以及重建的空間域數據可通過去塊化單元545和sao執行器550以輸出作為重建圖像560。存儲在重建圖片緩沖器530中的重建圖像可被輸出作為參考圖像。
為了供視頻解碼設備200的圖片解碼器230對圖像數據進行解碼,可執行根據實施方式的圖像解碼器500的熵解碼器515之后的操作。
為了將圖像解碼器500應用于根據實施方式的視頻解碼設備200,圖像解碼器500的全部元件(即,熵解碼器515、反量化器520、逆變換器525、幀內預測器540、幀間預測器535、去塊化單元545和sao執行器550)可針對每個最大編碼單元基于具有樹形結構的編碼單元來執行操作。
具體而言,幀內預測器540和幀間預測器535可確定根據樹形結構的編碼單元中的每個編碼單元的分區模式和預測模式,并且逆變換器525可確定是否根據每個編碼單元的四叉樹來分割變換單元。
圖10的編碼操作和圖11的解碼操作分別是單個層中的視頻流編碼操作和視頻流解碼操作。因此,當圖4a的圖像編碼設備40對至少兩層的視頻流進行編碼時,可為每層提供圖像編碼器400。類似地,當圖3a的解碼設備30對至少兩層的視頻流進行解碼時,可為每層提供圖像解碼器500。
圖12示出了根據各種實施方式的根據深度的較深編碼單元和分區。
根據實施方式的視頻編碼設備100和根據實施方式的視頻解碼設備200使用分層編碼單元,從而考慮圖像的特征。編碼單元的最大高度、最大寬度和最大深度可根據圖像的特征而自適應地確定,或者可根據用戶需要而不同地設置。根據深度的較深編碼單元的尺寸可根據編碼單元的預定最大尺寸進行確定。
在根據實施方式的編碼單元的分層結構600中,編碼單元的最大高度和最大寬度均是64,并且最大深度是3。在這種情況下,最大深度是指編碼單元從最大編碼單元分割到最小編碼單元的總次數。由于深度沿著根據實施方式的編碼單元的分層結構600的豎直軸加深,因此,較深編碼單元的高度和寬度均被分割。此外,沿著編碼單元的分層結構600的水平軸示出作為每個較深編碼單元的預測編碼的基礎的預測單元和分區。
即,編碼單元610是編碼單元的分層結構600中的最大編碼單元,其中深度為0并且尺寸(即,高度乘寬度)為64×64。深度沿著豎直軸加深,而且編碼單元620的尺寸為32×32且深度為1,編碼單元630的尺寸為16×16且深度為2,以及編碼單元640的尺寸為8×8且深度為3。尺寸為8×8且深度為3的編碼單元640是最小編碼單元。
編碼單元的預測單元和分區根據每個深度沿著水平軸布置。即,如果尺寸為64×64且深度為0的編碼單元610是預測單元,那么預測單元可分割成尺寸為64×64的編碼單元610中包括的分區,即,尺寸為64×64的分區610、尺寸為64×32的分區612、尺寸為32×64的分區614,或者尺寸為32×32的分區616。
同樣,尺寸為32×32且深度為1的編碼單元620的預測單元可分割成編碼單元620中包括的分區,即,尺寸為32×32的分區620、尺寸為32×16的分區622、尺寸為16×32的分區624以及尺寸為16×16的分區626。
同樣,尺寸為16×16且深度為2的編碼單元630的預測單元可分割成編碼單元630中包括的分區,即,編碼單元630中包括的尺寸為16×16的分區、尺寸為16×8的分區632、尺寸為8×16的分區634以及尺寸為8×8的分區636。
同樣,尺寸為8×8且深度為3的編碼單元640的預測單元可分割成編碼單元640中包括的分區,即,編碼單元640中包括的尺寸為8×8的分區640、尺寸為8×4的分區642、尺寸為4×8的分區644以及尺寸為4×4的分區646。
為了確定最大編碼單元610的深度,視頻編碼設備100的編碼單元確定器120針對最大編碼單元610中包括的與深度對應的編碼單元分別執行編碼。
包括相同范圍和相同尺寸的數據的、根據深度的較深編碼單元的數量隨著深度加深而增加。例如,需要四個對應于深度2的編碼單元來覆蓋一個對應于深度1的編碼單元中包括的數據。因此,為了將根據深度的相同數據的編碼結果進行比較,需要通過使用對應于深度1的編碼單元和對應于深度2的四個編碼單元中的每一項來對數據進行編碼。
為了根據每一深度執行編碼,可通過沿著編碼單元的分層結構600的水平軸、針對根據深度的編碼單元中的每個預測單元執行編碼,從而可選擇作為相應深度的代表性編碼誤差的最小編碼誤差。另外,隨著深度沿著編碼單元的分層結構600的豎直軸加深,可通過針對每個深度執行編碼,根據深度來比較代表性編碼誤差,從而可搜索出最小編碼誤差。最大編碼單元610中生成最小編碼誤差的深度和分區可被選作最大編碼單元610的深度和分區模式。
圖13示出了根據各種實施方式的編碼單元與變換單元之間的關系。
根據實施方式的視頻編碼設備100或根據實施方式的視頻解碼設備200根據每個最大編碼單元的、尺寸等于或小于最大編碼單元的編碼單元對圖像進行編碼或解碼。在編碼過程期間用于變換的變換單元的尺寸可基于不大于對應編碼單元的數據單元進行選擇。
例如,在視頻編碼設備100或視頻解碼設備200中,如果編碼單元710的尺寸是64×64,那么可通過使用尺寸為32×32的變換單元720來執行變換。
此外,可通過在尺寸為32×32、16×16、8×8和4×4(都小于64×64)的變換單元中的每個變換單元上執行變換,從而對尺寸為64×64的編碼單元710的數據進行編碼,并且隨后可選擇對于原始圖像具有最小編碼誤差的變換單元。
圖14示出根據各種實施方式的根據深度的多項編碼信息。
根據實施方式的視頻編碼設備100的輸出單元130可針對與深度對應的每個編碼單元來編碼并傳輸分區模式信息800、預測模式信息810和變換單元尺寸信息820,以作為分割信息。
分區模式信息800表明與通過分割當前編碼單元的預測單元而獲得的分區的形狀的有關信息,其中分區是用于對當前編碼單元進行預測編碼的數據單元。例如,尺寸為2n×2n的當前編碼單元cu_0可分割成下列分區中的任一個:尺寸為2n×2n的分區802、尺寸為2n×n的分區804、尺寸為n×2n的分區806以及尺寸為n×n的分區808。在這種情況下,當前編碼單元的分區模式信息800設置成表示下列中的一項:尺寸為2n×2n的分區802、尺寸為2n×n的分區804、尺寸為n×2n的分區806以及尺寸為n×n的分區808。
預測模式信息810表明每個分區的預測模式。例如,預測模式信息810可表明在由分區模式信息800表明的分區上執行的預測編碼的模式,即,幀內模式812、幀間模式814或跳躍模式816。
變換單元尺寸信息820表明在當前編碼單元上執行變換時將依據的變換單元。例如,所述變換單元可以是第一幀內變換單元822、第二幀內變換單元824、第一幀間變換單元826或者第二幀間變換單元828中的一項。
視頻解碼設備200的圖像數據與編碼信息提取器220可提取并使用分區模式信息800、預測模式信息810和變換單元尺寸信息820,以根據每個較深編碼單元進行解碼。
圖15示出了根據各種實施方式的根據深度的較深編碼單元。
分割信息可用來表明深度的變化。分割信息表明當前深度的編碼單元是否分割成較深深度的編碼單元。
用于對深度為0且尺寸為2n_0×2n_0的編碼單元900進行預測編碼的預測單元910可包括下列分區類型的分區:尺寸為2n_0×2n_0的分區模式912、尺寸為2n_0×n_0的分區模式914、尺寸為n_0×2n_0的分區模式916和尺寸為n_0×n_0的分區模式918。只示出通過對稱地分割預測單元而獲取的分區模式912、914、916和918,但如上所述,分區模式不限于此,并且分區模式可包括不對稱分區、具有預定形狀的分區和具有幾何形狀的分區。
根據每個分區模式,需要在尺寸為2n_0×2n_0的一個分區、尺寸為2n_0×n_0的兩個分區、尺寸為n_0×2n_0的兩個分區和尺寸為n_0×n_0的四個分區上重復執行預測編碼。可在尺寸為2n_0×2n_0、n_0×2n_0、2n_0×n_0和n_0×n_0的分區上執行幀內模式和幀間模式的預測編碼。可只在尺寸為2n_0×2n_0的分區上執行跳躍模式的預測編碼。
如果具有2n_0×2n_0的尺寸、2n_0×n_0的尺寸和n_0×2n_0的尺寸的分區模式912、914和916中的一個分區模式的編碼誤差是最小誤差,那么預測單元910可不分割成更深深度。
如果尺寸為n_0×n_0的分區模式918中的編碼誤差最小,那么在操作920中,深度從0變成1從而進行分割,并且可在深度為2且尺寸為n_0×n_0的分區模式的編碼單元930上重復執行編碼,以搜索最小編碼誤差。
用于對深度為1且尺寸為2n_1×2n_1(=n_0×n_0)的編碼單元930進行預測編碼的預測單元940可包括下列分區模式:尺寸為2n_1×2n_1的分區模式942、尺寸為2n_1×n_1的分區模式944、尺寸為n_1×2n_1的分區模式946和尺寸為n_1×n_1的分區模式948。
如果尺寸為n_1×n_1的分區模式948中的編碼誤差最小,那么在操作950中,深度從1變成2并且執行分割,并且在深度為2且尺寸為n_2×n_2的編碼單元960上重復執行編碼,以搜索最小編碼誤差。
當最大深度為d時,根據深度的較深編碼單元可設置到深度對應于d-1時,并且分割信息可設置到深度對應于d-2時。即,當在對應于深度d-2的編碼單元進行分割之后執行編碼直到深度為d-1時(在操作970中),用于對深度為d-1且尺寸為2n_(d-1)×2n_(d-1)的編碼單元980進行預測編碼的預測單元990可包括下列分區模式的分區:尺寸為2n_(d-1)×2n_(d-1)的分區模式992、尺寸為2n_(d-1)×n_(d-1)的分區模式994、尺寸為n_(d-1)×2n_(d-1)的分區模式996和尺寸為n_(d-1)×n_(d-1)的分區模式998。
可在分區模式之中的尺寸為2n_(d-1)×2n_(d-1)的一個分區、尺寸為2n_(d-1)×n_(d-1)的兩個分區、尺寸為n_(d-1)×2n_(d-1)的兩個分區、尺寸為n_(d-1)×n_(d-1)的四個分區上重復地執行預測編碼,以搜索生成最小編碼誤差的分區模式。
即使在尺寸為n_(d-1)×n_(d-1)的分區模式998具有最小編碼誤差時,由于最大深度為d,因此,深度為d-1的編碼單元cu_(d-1)不再分割到更深深度,并且構成當前最大編碼單元900的編碼單元的深度被確定為d-1,而且當前最大編碼單元900的分區模式可被確定為n_(d-1)×n_(d-1)。此外,由于最大深度為d,因此,不設置深度為d-1的編碼單元952的分割信息。
數據單元999可以是當前最大編碼單元的“最小單元”。根據實施方式的最小單元可以是通過將具有最深深度的最小編碼單元分割成4個而獲得的正方形數據單元。通過重復執行編碼,根據實施方式的視頻編碼設備100可通過比較根據編碼單元900的深度的編碼誤差來選擇具有最小編碼誤差的深度從而確定深度,并且可將對應分區模式和預測模式設置為該深度的編碼模式。
因此,在所有的深度0、1、……、d-1、d中比較根據深度的最小編碼誤差,并且可將具有最小編碼誤差的深度確定為深度。深度、預測單元的分區模式和預測模式可作為分割信息而被編碼和傳輸。此外,由于編碼單元需要從深度0分割到深度,因此,只有深度的分割信息被設置為0,而除該深度之外的深度的分割信息需要被設置為1。
根據實施方式的視頻解碼設備200的圖像數據與編碼信息提取器220可提取并使用編碼單元900的深度信息和預測單元信息,從而對編碼單元912進行解碼。根據實施方式的視頻解碼設備200可通過使用根據深度的分割信息而將分割信息為0的深度確定為深度,并且可將對應深度的分割信息用于解碼。
圖16、圖17和圖18是用于描述根據各種實施方式的編碼單元、預測單元與變換單元之間的關系的示意圖。
編碼單元1010是最大編碼單元中的由視頻編碼設備100確定的、根據深度的較深編碼單元。預測單元1060是根據深度的編碼單元1010中的每個的預測單元的分區,以及變換單元1070是根據深度的編碼單元中的每個的變換單元。
當較深編碼單元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中,通過分割編碼單元而獲得一些分區1014、1016、1022、1032、1048、1050、1052和1054。即,分區1014、1022、1050和1054是具有尺寸2n×n的分區模式,分區1016、1048和1052是具有尺寸n×2n的分區模式,以及分區1032是具有尺寸n×n的分區模式。較深編碼單元1010的預測單元和分區小于或等于每個編碼單元。
在小于編碼單元1052的數據單元中,對變換單元1070中的編碼單元1052的圖像數據執行變換或逆變換。此外,變換單元1760中的編碼單元1014、1016、1022、1032、1048、1050、1052和1054是在尺寸和形狀方面不同于預測單元1060中的數據單元的數據單元。即,根據實施方式的視頻編碼設備100和視頻解碼設備200可在相同編碼單元的各個數據單元上執行幀內預測/運動估算/運動補償以及變換/逆變換。
因此,對最大編碼單元的每個區域中具有分層結構的編碼單元中的每個編碼單元遞歸地執行編碼,以確定最佳編碼單元,因此,可獲得根據遞歸樹形結構的編碼單元。編碼信息可包括與編碼單元有關的分割信息、分區模式信息、預測模式信息和變換單元尺寸信息。以下表1示出可由根據實施方式的視頻編碼設備100和視頻解碼設備200設置的編碼信息。
表1
根據實施方式的視頻編碼設備100的輸出單元130可輸出與具有樹形結構的編碼單元有關的編碼信息,并且根據實施方式的視頻解碼設備200的圖像數據與編碼信息提取器220可從接收的比特流中提取與具有樹形結構的編碼單元有關的編碼信息。
分割信息表明當前編碼單元是否分割成較深深度的編碼單元。如果當前深度d的分割信息為0,那么當前編碼單元不再分割到較深深度所處的深度是深度,因此,可針對該深度來限定分區模式信息、預測模式信息和變換單元尺寸信息。如果當前編碼單元需要根據分割信息進一步分割,那么需要在較深深度的四個分割編碼單元的每個上獨立執行編碼。
預測模式可以是幀內模式、幀間模式和跳躍模式中的一項。幀內模式和幀間模式限定于所有分區模式,而跳躍模式可以只限定于尺寸為2n×2n的分區模式。
分區模式信息可表明通過對稱地分割預測單元的高度或寬度而獲取的尺寸為2n×2n、2n×n、n×2n和n×n的對稱分區模式,以及通過不對稱地分割預測單元的高度或寬度而獲取的尺寸為2n×nu、2n×nd、nl×2n和nr×2n的不對稱分區模式。可分別通過以1:3和3:1分割預測單元的高度來獲取尺寸為2n×nu和2n×nd的不對稱分區模式,并且可分別通過以1:3和3:1分割預測單元的寬度來獲取尺寸為nl×2n和nr×2n的不對稱分區模式。
變換單元的尺寸可設置為在幀內模式下有兩個類型并且在幀間模式下有兩個類型。即,如果變換單元的分割信息為0,那么變換單元的尺寸可以是2n×2n,也就是當前編碼單元的尺寸。如果變換單元的分割信息為1,那么可通過分割當前編碼單元來獲得變換單元。此外,如果尺寸為2n×2n的當前編碼單元的分區模式是對稱分區模式,那么變換單元的尺寸可以是n×n,而如果當前編碼單元的分區類型是不對稱分區模式,那么變換單元的尺寸可以是n/2×n/2。
根據實施方式的與具有樹形結構的編碼單元有關的編碼信息可分配到與深度對應的編碼單元、預測單元和最小單元中的至少一項。與深度對應的編碼單元可包括具有相同編碼信息的預測單元和最小單元中的至少一項。
因此,通過比較相鄰數據單元的編碼信息來確定相鄰數據單元是否包括在與深度對應的相同編碼單元中。此外,可通過使用數據單元的編碼信息來確定與深度對應的對應編碼單元,因此可推斷出最大編碼單元中的深度的分布。
因此,如果基于相鄰數據單元的編碼信息來預測當前編碼單元,那么可直接參考并使用與當前編碼單元相鄰的較深編碼單元中的數據單元的編碼信息。
在另一示例中,如果基于相鄰數據單元的編碼信息來對當前編碼單元進行預測,那么可通過使用與當前編碼單元相鄰的數據單元的編碼信息來搜索該數據單元,并且可參考所搜索出的相鄰數據單元以預測當前編碼單元。
圖19示出了根據表1的編碼模式信息的編碼單元、預測單元與變換單元之間的關系。
最大編碼單元1300包括編碼單元1302、1304、1306、1312、1314、1316、以及具有深度的編碼單元1318。此處,由于編碼單元1318是具有深度的編碼單元,因此,分割信息可設置為0。與尺寸為2n×2n的編碼單元1318的分區模式有關的信息可設置為下列中的一項:尺寸為2n×2n的分區模式1322、尺寸為2n×n的分區模式1324、尺寸為n×2n的分區模式1326、尺寸為n×n的分區模式1328、尺寸為2n×nu的分區模式1332、尺寸為2n×nd的分區模式1334、尺寸為nl×2n的分區模式1336以及尺寸為nr×2n的分區模式1338。
變換單元分割信息(tu尺寸標記)是一種變換索引。與變換索引對應的變換單元的尺寸可根據編碼單元的預測單元類型或分區模式而改變。
例如,當分區模式信息設置為尺寸為2n×2n的分區模式1322、尺寸為2n×n的分區模式1324、尺寸為n×2n的分區模式1326或尺寸為n×n的分區模式1328中的一項時,如果變換單元分割信息為0,則可設置尺寸為2n×2n的變換單元1342,而如果變換單元分割信息為1,則可設置尺寸為n×n的變換單元1344。
當分區模式信息設置為尺寸為2n×nu的分區模式1332、尺寸為2n×nd的分區模式1334、尺寸為nl×2n的分區模式1336或尺寸為nr×2n的分區模式1338中的一項時,如果變換單元分割信息(tu尺寸標記)為0,則可設置尺寸為2n×2n的變換單元1352,而如果變換單元分割信息為1,則可設置尺寸為n/2×n/2的變換單元1354。
以上參考圖19描述的變換單元分割信息(tu尺寸標記)是值為0或1的標記,但根據實施方式的變換單元分割信息不限于1比特的標記,并且在變換單元分割信息按照0、1、2、3…增加時,變換單元可分層地分割。變換單元分割信息可用作變換索引的示例。
在這種情況下,實際使用的變換單元的尺寸可通過使用根據實施方式的變換單元分割信息以及變換單元的最大尺寸和變換單元的最小尺寸一起來表示。根據實施方式的視頻編碼設備100可對最大變換單元尺寸信息、最小變換單元尺寸信息和最大變換單元分割信息進行編碼。對最大變換單元尺寸信息、最小變換單元尺寸信息和最大變換單元分割信息進行編碼的結果可插入到sps。根據實施方式的視頻解碼設備200可通過使用最大變換單元尺寸信息、最小變換單元尺寸信息和最大變換單元分割信息來對視頻進行解碼。
例如,(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尺寸標記無法設置成除了0之外的值。
作為另一示例,(c)如果當前編碼單元的尺寸是64×64并且最大tu尺寸標記是1,那么tu尺寸標記可以是0或1。此處,tu尺寸標記無法設置成除了0或1之外的值。
因此,如果將最大tu尺寸標記定義為“maxtransformsizeindex”,將最小變換單元尺寸定義為“mintransformsize”,并且當tu尺寸標記為0時變換單元尺寸為“roottusize”,那么可在當前編碼單元中確定的當前最小變換單元尺寸“currmintusize”可由等式(1)限定:
currmintusize
=max(mintransformsize,roottusize/(2^maxtransformsizeindex))...(1)
與可在當前編碼單元中確定的當前最小變換單元尺寸“currmintusize”相比,tu尺寸標記為0時的變換單元尺寸“roottusize”可表示可以在系統中選擇的最大變換單元尺寸。即,在等式(1)中,“roottusize/(2^maxtransformsizeindex)”表示在tu尺寸標記為0時變換單元尺寸“roottusize”被分割與最大tu尺寸標記對應的次數時的變換單元尺寸,并且“mintransformsize”表示最小變換尺寸。因此,“roottusize/(2^maxtransformsizeindex)”和“mintransformsize”之中的較小值可以是可在當前編碼單元中確定的當前最小變換單元尺寸“currmintusize”。
根據實施方式,最大變換單元尺寸roottusize可根據預測模式的類型而改變。
例如,如果當前預測模式是幀間模式,那么“roottusize”可通過使用下列等式(2)來確定。在等式(2)中,“maxtransformsize”表示最大變換單元尺寸,并且“pusize”表示當前預測單元尺寸。
roottusize=min(maxtransformsize,pusize).........(2)
即,如果當前預測模式是幀間模式,那么在tu尺寸標記為0時,變換單元尺寸“roottusize”可以是最大變換單元尺寸和當前預測單元尺寸之中的較小值。
如果當前分區單元的預測模式是幀內模式,那么“roottusize”可通過使用下列等式(3)來確定。在等式(3)中,“partitionsize”表示當前分區單元的尺寸。
roottusize=min(maxtransformsize,partitionsize)...........(3)
即,如果當前預測模式是幀內模式,那么在tu尺寸標記為0時,變換單元尺寸“roottusize”可以是最大變換單元尺寸和當前分區單元的尺寸之中的較小值。
然而,根據分區單元中的預測模式的類型而改變的當前最大變換單元尺寸“roottusize”僅僅是實施方式,并且確定當前最大變換單元尺寸的因素不限于此。
根據以上參考圖7到圖19描述的基于樹形結構的編碼單元的視頻編碼方法,將空間域的圖像數據編碼到樹形結構的每個編碼單元中。根據基于樹形結構的編碼單元的視頻解碼方法,針對每個最大編碼單元執行解碼,以重建空間域的圖像數據,從而可重建圖片序列和由圖片形成的視頻。重建的視頻可由播放設備播放、可存儲在存儲介質中、或可通過網絡傳輸。
一個或多個實施方式可編寫為計算機程序,并且可在使用非暫時性計算機可讀記錄介質執行程序的通用數字計算機中實施。非暫時性計算機可讀記錄介質的示例包括磁存儲介質(例如,rom、軟盤、硬盤等)、光記錄介質(例如,cd-rom或dvd)等。
為便于描述,上文參考圖1a到圖19描述的圖像編碼方法和/或視頻編碼方法將統稱為“視頻編碼方法”。此外,上文參考圖1a到圖19描述的圖像解碼方法和/或視頻解碼方法將統稱為“視頻解碼方法”。
另外,已參考圖1a到圖19描述的視頻編碼設備(包括圖像編碼設備40、視頻編碼設備100或圖像編碼器400)將統稱為“視頻編碼設備”。此外,已參考圖1a到圖19描述的視頻解碼設備(包括圖像解碼設備30、視頻解碼設備200或圖像解碼器500)將統稱為“視頻解碼設備”。
現在將詳細描述根據實施方式的存儲程序的非暫時性計算機可讀記錄介質,諸如,盤片26000。
圖21示出了根據各種實施方式的存儲有程序的盤片26000的物理結構。盤片26000作為一種存儲介質,其可以是硬盤驅動器、緊密式只讀存儲器(cd-rom)盤、藍光光盤或數字多功能盤(dvd)。盤片26000包括多個同心盤道tr,所述同心盤道各自在盤片26000的圓周方向上分成特定數量的扇區se。在盤片26000的特定區域中,可分配并存儲執行上述量化參數確定方法、視頻編碼方法和視頻解碼方法的程序。
現在將參考圖22描述使用存儲介質實現的計算機系統,所述存儲介質存儲用于執行上述視頻編碼方法和視頻解碼方法的程序。
圖22示出了用于通過使用盤片26000來記錄和讀取程序的盤片驅動器26800。計算機系統26700可經由盤片驅動器26800在盤片26000中存儲用于執行根據實施方式的視頻編碼方法和視頻解碼方法中的至少一項的程序。為了在計算機系統26700中運行存儲在盤片26000中的程序,可從盤片26000中讀取程序并且可通過使用盤片驅動器26800將它傳輸到計算機系統26700。
執行根據實施方式的視頻編碼方法和視頻解碼方法中的至少一項的程序可不僅存儲在圖20和圖21所示的盤片26000中,還可存儲在存儲卡、rom盒式磁帶或固態驅動器(ssd)中。
下文將描述應用上文所述的根據實施方式的視頻編碼方法和視頻解碼方法的系統。
圖22示出了用于提供內容分發服務的內容供應系統11000的整體結構。通信系統的服務區域分成預定尺寸的小區,并且無線基站11700、11800、11900和12000分別安裝在這些小區中。
內容供應系統11000包括多個獨立裝置。例如,諸如計算機12100、個人數字助理(pda)12200、攝像機12300和移動電話12500的多個獨立裝置經由互聯網服務提供商11200、通信網絡11400以及無線基站11700、11800、11900和12000連接到互聯網11100。
然而,內容供應系統11000不限于如圖22所示,并且裝置可選擇性地連接到該系統。多個獨立裝置可直接連接到通信網絡11400,而不經過無線基站11700、11800、11900和12000。
攝像機12300是能夠拍攝視頻圖像的成像裝置,例如,數字攝像機。移動電話12500可采用例如個人數字通信(pdc)、碼分多址(cdma)、寬帶碼分多址(w-cdma)、全球移動通信系統(gsm)以及個人手持式電話系統(phs)等各種協議中的至少一個通信方法。
攝像機12300可經由無線基站11900和通信網絡11400連接到流式服務器11300。流式服務器11300允許經由攝像機12300從用戶接收的內容經過實時廣播進行流傳輸。從攝像機12300接收的內容可由攝像機12300或流式服務器11300進行編碼。由攝像機12300拍攝的視頻數據可經由計算機12100傳輸到流式服務器11300。
由相機12600拍攝的視頻數據也可經由計算機12100傳輸到流式服務器11300。相機12600是能夠拍攝靜態圖像和視頻圖像的成像裝置,類似于數字相機。由相機12600拍攝的視頻數據可使用相機12600或計算機12100進行編碼。對視頻執行編碼和解碼的軟件可存儲在可由計算機12100訪問的非暫時性計算機可讀記錄介質中,例如,cd-rom盤、軟盤、硬盤驅動器、ssd或存儲卡。
如果視頻數據由內置在移動電話12500的相機拍攝,那么視頻數據可從移動電話12500中接收。
視頻數據可由安裝在攝像機12300、移動電話12500或相機12600中的大規模集成電路(lsi)系統進行編碼。
在根據實施方式的內容供應系統11000中,由用戶使用攝像機12300、相機12600、移動電話12500或另一成像裝置記錄的內容數據(例如,在音樂會期間記錄的內容)被編碼并傳輸到流式服務器11300。流式服務器11300可采用流內容類型將編碼的內容數據傳輸到請求內容數據的其他客戶端。
客戶端是能夠對編碼的內容數據進行解碼的裝置,例如,計算機12100、pda12200、攝像機12300或移動電話12500。因此,內容供應系統11000允許客戶端接收和播放編碼的內容數據。此外,內容供應系統11000允許客戶端接收編碼的內容數據,并且實時解碼和播放編碼的內容數據,從而實現個人播放。
本公開的視頻編碼設備和視頻解碼設備可應用于內容供應系統11000中包括的多個獨立裝置的編碼操作和解碼操作。
現在將參考圖23和圖24詳細描述根據實施方式的內容供應系統11000中包括的移動電話12500。
圖23示出根據各種實施方式的應用視頻編碼方法和視頻解碼方法的移動電話12500的外部結構。移動電話12500可以是智能電話,它的功能不受限制并且其大量的功能可改變或擴展。
移動電話12500包括外部天線12510,經由該外部天線,射頻(rf)信號可與無線基站12000進行交換。移動電話12500還包括顯示屏12520,所述顯示屏12520用于顯示由相機12530拍攝的圖像或經由天線12510接收并解碼的圖像,例如,液晶顯示器(lcd)或有機發光二極管(oled)屏。移動電話12500包括操作面板12540,所述操作面板12540包括控制按鈕和觸摸面板。如果顯示屏12520是觸摸屏,那么操作面板12540還包括顯示屏12520的觸摸感應面板。移動電話12500包括用于輸出語音和聲音的揚聲器12580或另一類型的聲音輸出單元,以及用于輸入語音和聲音的麥克風12550或另一類型的聲音輸入單元。移動電話12500還包括相機12530,諸如,電荷耦合裝置(ccd)相機,以拍攝視頻或靜態圖像。移動電話12500可還包括:存儲介質12570,該存儲介質12570用于存儲編碼/解碼的數據,例如,由相機12530拍攝、經由電子郵件接收或根據各種方式獲取的視頻或靜態圖像;以及槽12560,存儲介質12570經由該槽12560裝載到移動電話12500中。存儲介質12570可以是閃存,例如,安全數字(sd)卡或者包括在塑料盒中的電可擦除可編程只讀存儲器(eeprom)。
圖24示出移動電話12500的內部結構。為了系統地控制包括顯示屏12520和操作面板12540的移動電話12500的部分,電源電路12700、操作輸入控制器12640、圖像編碼器12720、相機接口12630、lcd控制器12620、圖像解碼器12690、多路復用器/多路分解器12680、記錄/讀取單元12670、調制/解調單元12660以及聲音處理器12650經由同步總線12730連接到中央控制器12710。
如果用戶操作電源按鈕并從“關機”狀態設置到“開機”狀態,那么電源電路12700將電力從電池組供應到移動電話12500的所有部分,從而將移動電話12500設置為工作模式。
中央控制器12710包括cpu、只存存儲器(rom)和隨機存取存儲器(ram)。
在移動電話12500將通信數據傳輸到外部時,移動電話12500在中央控制器12710的控制下生成數字信號。例如,聲音處理器12650可生成數字聲音信號,圖像編碼器12720可產生數字圖像信號,并且消息的文本數據可經由操作面板12540和操作輸入控制器12640生成。當數字信號在中央控制器12710的控制下傳輸到調制/解調單元12660時,調制/解調單元12660對數字信號的頻帶進行調制,并且通信電路12610在頻帶經調制的數字聲音信號上執行數模轉換(dac)和頻率轉換。從通信電路12610輸出的傳輸信號可經由天線12510傳輸到語音通信基站或無線基站12000。
例如,當移動電話12500處于對話模式時,經由麥克風12550獲取的聲音信號在中央控制器12710的控制下被聲音處理器12650轉換成數字聲音信號。生成的數字聲音信號可經由調制/解調單元12660和通信單元12610轉換成傳輸信號,并且可經由天線12510傳輸。
當文本消息(例如,電子郵件)在數據通信模式下傳輸時,文本消息的文本數據經由操作面板12540輸入,并且經由操作輸入控制器12640傳輸到中央控制器12710。在中央控制器12710的控制下,文本數據經由調制/解調單元12660和通信電路12610變換成傳輸信號,并且經由天線12510傳輸到無線基站12000。
為了在數據通信模式下傳輸圖像數據,經由相機接口12630將相機12530拍攝的圖像數據提供到圖像編碼器12720。拍攝的圖像數據可經由相機接口12630和lcd控制器12620直接顯示在顯示屏12520上。
圖像編碼器12720的結構可對應于根據實施方式的視頻編碼設備100的結構。圖像編碼器12720可根據上文所述的視頻編碼方法將從相機12530接收的圖像數據變換成壓縮且編碼的圖像數據,并且隨后將編碼的圖像數據輸出到多路復用器/多路分解器12680。在相機12530的記錄操作期間,由移動電話12500的麥克風12550獲得的聲音信號可經由聲音處理器12650變換成數字聲音數據,并且數字聲音數據可傳輸到多路復用器/多路分解器12680。
多路復用器/多路分解器12680將從圖像編碼器12720接收的編碼圖像數據與從聲音處理器12650接收的聲音數據多路復用。多路復用數據的結果可經由調制/解調單元12660和通信單元12610轉換成傳輸信號,并且可隨后經由天線12510傳輸。
當移動電話12500接收來自外部的通信數據時,在經由天線12510接收的信號上執行頻率重建和模數轉換(adc),以將該信號轉換成數字信號。調制/解調單元12660對數字信號的頻帶進行調制。根據數字信號的類型,頻帶經過調制的數字信號傳輸到圖像解碼器12690、聲音處理器12650或lcd控制器12620。
在對話模式下,移動電話12500將經由天線12510接收的信號放大,并且通過在放大的信號上執行頻率轉換和adc來獲取數字聲音信號。在中央控制器12710的控制下,接收的數字聲音信號經由調制/解調單元12660和聲音處理器12650轉換成模擬聲音信號,并且模擬聲音信號經由揚聲器12580輸出。
當在數據通信模式期間接收到在互聯網網站訪問的視頻文件的數據時,經由調制/解調單元12660將經由天線12510從無線基站12000接收的信號作為多路復用數據輸出,并且將多路復用數據傳輸到多路復用器/多路分解器12680。
為了對經由天線12510接收的多路復用的數據進行解碼,多路復用器/多路分解器12680將多路復用的數據多路分解成編碼視頻數據流和編碼音頻數據流。經由同步總線12730,編碼視頻數據流和編碼音頻數據流分別被提供到圖像解碼器12690和聲音處理器12650。
圖像解碼器12690的結構可對應于上文所述的視頻解碼設備的結構。圖像解碼器12690可通過使用上述視頻解碼方法對編碼的視頻數據進行解碼,以獲得重建的視頻數據并且將重建的視頻數據經由lcd控制器12620提供到顯示屏12520。
因此,在互聯網網站訪問的視頻文件的數據可顯示在顯示屏12520上。同時,聲音處理器12650可將音頻數據轉換成模擬聲音信號,并且將模擬聲音信號提供到揚聲器12580。因此,在互聯網網站訪問的視頻文件中含有的音頻數據也可經由麥克風12580而播放。
移動電話12500或另一類型的通信終端可以是包括根據實施方式的視頻編碼設備和視頻解碼設備的收發終端,可以是只包括視頻編碼設備的發送終端,或者可以是只包括視頻解碼設備的接收終端。
根據實施方式的通信系統不限于上文參考圖24描述的通信系統。例如,圖25示出根據各種實施方式的采用通信系統的數字廣播系統。圖25的數字廣播系統可通過使用根據實施方式的視頻編碼設備和視頻解碼設備來接收經由衛星或地面網絡傳輸的數字廣播。
更具體地,廣播站12890通過使用無線電波而將視頻數據流傳輸到通信衛星或廣播衛星12900。廣播衛星12900傳輸廣播信號,并且廣播信號經由家用天線12860傳輸到衛星廣播接收器。在每個家庭中,編碼的視頻流可由tv接收器12810、機頂盒12870或另一裝置解碼并播放。
當視頻解碼設備實施于播放設備12830中時,播放設備12830可對記錄在存儲介質12820(諸如,盤片或存儲卡)上的編碼視頻流進行解析和解碼,以重建數字信號。因此,重建的視頻信號可例如在顯示器12840上播放。
在連接到用于衛星/地面廣播的天線12860或用于接收電纜電視(tv)廣播的電纜12850的機頂盒12870中,可安裝根據實施方式的視頻解碼設備。從機頂盒12870輸出的數據也可在tv顯示器12880上播放。
作為另一示例,根據實施方式的視頻解碼設備可安裝在tv接收器12810中,而不是機頂盒12870中。
具有適當天線12910的汽車12920可接收從衛星12900或無線基站11700傳輸的信號。解碼的視頻可在安裝于汽車12920中的車載導航系統12930的顯示屏上播放。
視頻信號可由根據實施方式的視頻編碼設備進行編碼,并且可隨后記錄并存儲到存儲介質中。具體而言,圖像信號可由dvd記錄器存儲在dvd光盤12960中,或者可由硬盤記錄器12950存儲在硬盤中。作為另一示例,視頻信號可存儲在sd卡12970中。如果硬盤記錄器12950包括根據實施方式的視頻解碼設備,那么記錄在dvd光盤12960、sd卡12970或另一存儲介質上的視頻信號可在tv顯示器12880上播放。
汽車導航系統12930可不包括圖26的相機12530、相機接口12630和圖像編碼器12720。例如,計算機12100和tv接收器12810可不包括圖26的相機12530、相機接口12630和圖像編碼器12720。
圖26示出了根據各種實施方式的使用視頻編碼設備和視頻解碼設備的云計算系統的網絡結構。
云計算系統可包括云計算服務器14000、用戶數據庫(db)14100、多個計算資源14200以及用戶終端。
響應于來自用戶終端的請求,云計算系統經由數據通信網絡(例如,互聯網)來提供多個計算資源14200的按需外包服務。在云計算環境下,通過使用虛擬化技術將位于物理上不同位置的數據中心處的計算資源相結合,服務提供商為用戶提供所需的服務。服務用戶不必將計算資源(例如,應用、存儲、操作系統(os)和安全軟件)安裝到他/她自己的終端中以進行使用,而是可在所需的時間點從通過虛擬化技術生成的虛擬空間中的服務之中選擇并使用所需服務。
指定服務用戶的用戶終端經由包括互聯網和移動遠程通信網絡的數據通信網絡連接到云計算服務器14000。從云計算服務器14000可對用戶終端提供云計算服務,具體地如視頻播放服務。用戶終端可以是能夠連接到互聯網的各種類型的電子裝置,例如,臺式pc14300、智能tv14400、智能電話14500、筆記本電腦14600、便攜式多媒體播放器(pmp)14700、平板pc14800等。
云計算服務器14000可將分布在云網絡中的多個計算資源14200進行組合,并且將組合的結果提供到用戶終端。多個計算資源14200可包括各種數據服務,并且可包括從用戶終端上傳的數據。如上文所述,云計算服務器14000可通過根據虛擬化技術將分布在不同區域中的視頻數據庫進行組合來將所需的服務提供到用戶終端。
與訂閱云計算服務的用戶有關的用戶信息存儲在用戶數據庫14100中。用戶信息可包括用戶的登錄信息、地址、姓名和個人信用信息。用戶信息可還包括視頻的索引。此處,索引可包括已經播放的視頻列表、正在播放的視頻列表、過去播放的視頻的暫停點等。
存儲在用戶數據庫14100中的與視頻有關的信息可在用戶裝置之間共享。例如,當響應于來自筆記本電腦14600的請求而將視頻服務提供到筆記本電腦14600時,視頻服務的播放歷史便存儲在用戶數據庫14100中。當從智能電話14500接收播放該視頻服務的請求時,云計算服務器14000基于用戶數據庫14100來搜索并播放該視頻服務。當智能電話14500接收來自云計算服務器14000的視頻數據流時,通過對視頻數據流進行解碼來播放視頻的過程類似于上文參考圖24描述的移動電話12500的操作。
云計算服務器14000可參考存儲在用戶數據庫14100中的所需視頻服務的播放歷史。例如,云計算服務器14000接收來自用戶終端的播放存儲在用戶數據庫14100中的視頻的請求。如果這個視頻已在播放,那么由云計算服務器14000執行的流傳輸這個視頻的方法可根據用戶終端的請求而改變,即,根據從視頻的開頭還是暫停點開始播放該視頻。例如,如果用戶終端請求從視頻的開頭開始播放該視頻,那么云計算服務器14000將從視頻的第一幀開始的視頻的流數據傳輸到用戶終端。如果用戶終端請求從視頻的暫停點開始播放該視頻,那么云計算服務器14000將從對應于暫停點的幀開始的視頻的流數據傳輸到用戶終端。
在這種情況下,用戶終端可包括如上文參考圖1a到圖19描述的根據實施方式的視頻解碼設備。作為另一示例,用戶終端可包括如上文參考圖1a到圖19描述的根據實施方式的視頻編碼設備。可替代地,用戶終端可包括如上文參考圖1a到圖19描述的根據實施方式的視頻解碼設備和視頻編碼設備兩者。
上文已參考圖20到圖26描述了根據上文參考圖1a到圖19描述的圖像編碼方法、圖像解碼方法、圖像編碼設備和圖像解碼設備的各種應用。然而,根據各種實施方式的將圖1a至圖19的視頻編碼方法和視頻解碼方法存儲在存儲介質中的方法或者在裝置中實施視頻編碼設備和視頻解碼設備的方法不限于上文參考圖20到圖26描述的實施方式。
雖然已參考本公開的實施方式具體示出和描述了本公開,但是本領域普通技術人員將理解,在不脫離如所附權利要求限定的精神和范圍的情況下,可對本公開在形式和細節方面做出各種改變。因此,本公開的范圍并不由本公開的詳細描述限定,而是由所附權利要求限定,并且該范圍內的所有差異都將被解釋為包括在本公開中。