用于視頻編碼和解碼的裝置、方法和計算機程序的制作方法
【技術領域】
[0001]本發明涉及一種用于視頻編碼和解碼的裝置、方法和計算機程序。
【背景技術】
[0002]視頻編解碼器可以包括編碼器和解碼器或者兩者之一,編碼器將輸入視頻變換為適合于存儲和/或傳輸的壓縮表示,解碼器可以將壓縮視頻表示解壓縮回到可查看形式。通常,編碼器丟棄原始視頻序列中的某些信息,以便以更緊湊的形式(例如在更低位速率下)表示視頻。
[0003]可伸縮視頻編碼指這樣的編碼結構:其中一個位流可以包含在不同位速率、分辨率或幀速率下的內容的多個表示。可伸縮位流通常包括“基礎層”和一個或多個增強層,基礎層提供最低質量的可用視頻,增強層與更低層一起在接收視頻并對其解碼時增強視頻質量。為了改進增強層的編碼效率,該層的編碼表示通常取決于更低層。
[0004]用于質量可伸縮性(也被稱為信噪比或SNR)和/或空間可伸縮性的可伸縮視頻編解碼器可以實現如下。對于基礎層,使用常規不可伸縮的視頻編碼器和解碼器。基礎層的重構/解碼圖像被包括在增強層的參考圖像緩沖器中。在使用參考圖像列表(多個)進行幀間預測的編解碼器中,基礎層解碼圖像可以被插入到參考圖像列表(多個)中,以便對增強層圖像編碼/解碼,這類似于增強層的解碼參考圖像。因此,編碼器可以選擇基礎層參考圖像作為幀間預測參考,并且指示其通常與編碼位流中的參考圖像索引一起使用。解碼器從位流解碼,例如從基礎層圖像被用作增強層的幀間預測參考的參考圖像索引解碼。
[0005]除了質量可伸縮性之外,可以通過以下各項實現可伸縮性:空間可伸縮性,其中在高于增強層圖像的分辨率下對基礎層圖像編碼;位深度可伸縮性,其中在低于增強層圖像(例如10或12位)的位深度(例如8位)下對基礎層圖像編碼;以及色度格式可伸縮性,其中基礎層圖像提供高于增強層圖像(例如4:2:0格式)的色度保真(例如以4:4:4色度格式編碼)。
[0006]在上面所有的可伸縮性情況下,可以使用基礎層信息對增強層編碼,以便最小化額外位速率開銷。然而,用于可伸縮視頻編碼的現有解決方案在對增強層編碼和解碼時,沒有充分利用可從基礎層和增強層獲得的信息。
【發明內容】
[0007]本發明首先考慮到為了改進增強層運動補償預測的性能,將增強層運動補償預測和差分信號添加在一起,由針對基礎層的運動補償過程使用增強層的相同或相似運動向量估計所述差分信號。
[0008]一種根據第一實施例的對增強層圖像中的樣本塊編碼的方法包括
[0009]標識增強層圖像中要預測的樣本塊;
[0010]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0011]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0012]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0013]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0014]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊編碼。
[0015]根據一個實施例,所述方法進一步包括
[0016]標識在原始圖像中的樣本塊的值與所述第二增強層預測的值之間的殘余信號;
[0017]將所述殘余信號編碼成重構殘余信號;以及
[0018]將所述重構殘余信號添加到所述第二增強層預測。
[0019]根據一個實施例,類似于HEVC,執行指示幀間預測模式以及對應的運動向量和參考幀索引。
[0020]根據一個實施例,通過對所述基礎層圖像的樣本進行上采樣來生成基礎層中的塊,以便具有與增強層預測塊相同的空間分辨率。
[0021]根據一個實施例,執行基礎層運動補償預測和從所述基礎層重構樣本減去所述基礎層運動補償預測,然后對差異進行上采樣并且將其添加到所述增強層預測。
[0022]根據一個實施例,使用上采樣到與所述增強層預測塊相同的空間分辨率的所述至少一個基礎層參考圖像,產生所述基礎層中的所述運動補償預測。
[0023]根據一個實施例,將基礎層圖像中的所述重構樣本塊和位于一起的基礎層預測塊的樣本的差縮放至少一個縮放因數。
[0024]根據一個實施例,在位流中用信號通知所述縮放因數。
[0025]根據一個實施例,使用多個預定義縮放因數,并且在所述位流中指示所述縮放因數。
[0026]根據一個實施例,如果所述增強層圖像和基礎層圖像的坐標系不同,則當定義所述基礎層樣本和增強層樣本的坐標關系時,考慮所述基礎層和增強層之間的空間可伸縮性的差異。
[0027]根據一個實施例,在執行所述基礎層運動補償預測之前,縮放所述增強層運動信息以便與所述基礎層和增強層之間的空間可伸縮性的差異相匹配。
[0028]根據一個實施例,使用重構之前的中間樣本,而不是重構基礎層樣本,以便獲得差異值。
[0029]根據一個實施例,使用環路內濾波操作之前的基礎層值,所述環路內濾波操作例如解塊濾波或采樣自適應偏移(SAO)和自適應環路濾波(ALF)。
[0030]根據一個實施例,所述方法被始終應用為默認設置。
[0031]根據一個實施例,通過向所述解碼器用信號通知標志,選擇性地啟用所述方法。
[0032]根據一個實施例,通過在預測單元(PU)級別用信號通知一個二進制標識符,啟用所述方法。
[0033]根據一個實施例,當滿足預定條件時啟用所述方法,例如:基于相鄰塊的模式;基于在對應于所述增強層塊的位置的基礎層塊(多個)中預測誤差編碼的存在;基于所述增強層或基礎層參考幀的樣本值或重構基礎層圖像的樣本值、基礎層解碼圖像緩沖器中的基礎層參考圖像的可用性;或者它們的組合。
[0034]一種根據第二實施例的裝置包括:
[0035]視頻編碼器,其被配置為對包括基礎層和至少一個增強層的可伸縮位流編碼,其中所述視頻編碼器被進一步配置為
[0036]標識增強層圖像中要預測的樣本塊;
[0037]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0038]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0039]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0040]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0041]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊編碼。
[0042]根據第三實施例,提供一種計算機可讀存儲介質,在其上存儲代碼以便由裝置使用,當所述代碼由處理器執行時,導致所述裝置執行:
[0043]標識增強層圖像中要預測的樣本塊;
[0044]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0045]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0046]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;以及
[0047]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0048]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊編碼。
[0049]根據第四實施例,提供至少一個處理器和至少一個存儲器,所述至少一個存儲器在其上存儲代碼,當所述代碼由所述至少一個處理器執行時,導致裝置執行:
[0050]標識增強層圖像中要預測的樣本塊;
[0051]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0052]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0053]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0054]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0055]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊編碼。
[0056]根據第五實施例的方法包括一種用于對包括基礎層和至少一個增強層的可伸縮位流解碼的方法,所述方法包括
[0057]標識增強層圖像中要預測的樣本塊;
[0058]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0059]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0060]通過使用所述增強層運動信息和至少一個基礎層參考圖像以及增強層運動信息針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0061]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0062]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊解碼。
[0063]根據一個實施例,所述方法進一步包括
[0064]標識在原始圖像中的樣本塊的值與所述第二增強層預測的值之間的殘余信號;
[0065]將所述殘余信號解碼成重構殘余信號;以及
[0066]將所述重構殘余信號添加到所述第二增強層預測。
[0067]根據一個實施例,類似于HEVC,執行指示幀間預測模式以及對應的運動向量和參考幀索引。
[0068]根據一個實施例,通過對所述基礎層圖像的樣本進行上采樣來生成基礎層中的塊,以便具有與增強層預測塊相同的空間分辨率。
[0069]根據一個實施例,執行基礎層運動補償預測和從所述基礎層重構樣本減去所述基礎層運動補償預測,然后對所述差異進行上采樣并且將其添加到所述增強層預測。
[0070]根據一個實施例,使用上采樣到與所述增強層預測塊相同的空間分辨率的至少一個基礎層參考圖像,產生所述基礎層中的所述運動補償預測。
[0071]根據一個實施例,將基礎層圖像中的所述重構樣本塊和位于一起的基礎層預測塊的樣本的差縮放至少一個縮放因數。
[0072]根據一個實施例,在所述位流中用信號通知所述縮放因數。
[0073]根據一個實施例,使用多個預定義縮放因數,并且在所述位流中指示所述縮放因數。
[0074]根據一個實施例,如果所述增強層圖像和基礎層圖像的坐標系不同,則當定義所述基礎層樣本和增強層樣本的坐標關系時,考慮所述基礎層和增強層之間的空間可伸縮性的差異。
[0075]根據一個實施例,在執行所述基礎層運動補償預測之前,縮放所述增強層運動信息以便與所述基礎層和增強層之間的空間可伸縮性的差異相匹配。
[0076]根據一個實施例,使用重構之前的中間樣本,而不是重構基礎層樣本,以便獲得差異值。
[0077]根據一個實施例,使用環路內濾波操作之前的基礎層值,所述環路內濾波操作例如解塊濾波或采樣自適應偏移(SAO)和自適應環路濾波(ALF)。
[0078]根據一個實施例,所述方法被始終應用為默認設置。
[0079]根據一個實施例,在接收標志時,選擇性地啟用所述方法。
[0080]根據一個實施例,在預測單元(PU)級別接收一個二進制標識符時,啟用所述方法。
[0081]根據一個實施例,當滿足預定條件時啟用所述方法,例如:基于相鄰塊的模式;基于在對應于所述增強層塊的位置的基礎層塊(多個)中預測誤差編碼的存在;基于所述增強層或基礎層參考幀的樣本值或重構基礎層圖像的樣本值、基礎層解碼圖像緩沖器中的基礎層參考圖像的可用性;或者它們的組合。
[0082]一種根據第六實施例的裝置包括:
[0083]視頻解碼器,其被配置為對包括基礎層和至少一個增強層的可伸縮位流解碼,所述視頻解碼器被配置為
[0084]標識增強層圖像中要預測的樣本塊;
[0085]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0086]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0087]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0088]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0089]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊解碼。
[0090]根據第七實施例,提供一種視頻編碼器,其被配置為對包括基礎層和至少一個增強層的可伸縮位流編碼,其中所述視頻編碼器被進一步配置為:
[0091]標識增強層圖像中要預測的樣本塊;
[0092]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0093]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0094]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0095]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0096]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊編碼。
[0097]根據第八實施例,提供一種視頻解碼器,其被配置為對包括基礎層和至少一個增強層的可伸縮位流解碼,其中所述視頻解碼器被進一步配置為:
[0098]標識增強層圖像中要預測的樣本塊;
[0099]通過使用至少一個增強層參考圖像和增強層運動信息針對所標識的樣本塊執行運動補償預測來計算第一增強層預測塊;
[0100]在與所述增強層圖像中所述要預測的樣本塊位于一起的基礎層圖像中標識重構樣本塊;
[0101]通過使用所述增強層運動信息和至少一個基礎層參考圖像針對所標識的重構樣本塊執行運動補償預測來計算基礎層預測塊;
[0102]基于所述基礎層預測塊、所標識的基礎層重構樣本和第一增強預測來計算第二增強層預測;以及
[0103]通過從所述第二增強層預測進行預測,對所述增強層圖像中的所標識的樣本塊解碼。
【附圖說明】
[0104]為了更好地理解本發明,現在將通過實例的方式參考附圖,這些附圖是:
[0105]圖1示意性地示出采用本發明的某些實施例的電子設備;
[0106]圖2示意性地示出適合于采用本發明的某些實施例的用戶設備;
[0107]圖3進一步示意性地示出采用本發明的實施例的電子設備,這些電子設備使用無線和有線網絡連接進行連接;
[0108]圖4示意性地示出適合于實現本發明的某些實施例的編碼器;
[0109]圖5示出包括兩個圖塊的圖像的一個實例;
[0110]圖6示出根據本發明的某些實施例的編碼/解碼過程的流程圖;
[0111]圖7示出根據本發明的一個實施例的基礎增強型運動補償預測的一個實例;以及
[0112]圖8示出根據本發明的某些實施例的解碼器的示意圖。
【具體實施方式】
[0113]下面進一步詳細地描述合適的裝置和可能的機制,以便在不明顯犧牲編碼效率的情況下對增強層子圖像編碼。在這點上,首先參考圖1,其示出根據本發明的一個實施例的示例性裝置或電子設備50的示意框圖,示例性裝置或電子設備50可以包括編解碼器。
[0114]電子設備50例如可以是無線通信系統的移動終端或用戶設備。但是,應該了解,本發明的實施例可以在任何電子設備或裝置中實現,該電子設備或裝置可能需要編碼和解碼或者對視頻圖像編碼或解碼。
[0115]裝置50可以包括外殼30以便包含和保護設備。裝置50進一步可以包括顯示器32,其采用液晶顯示器的形式。在本發明的其它實施例中,顯示器可以是適合于顯示圖像或視頻的合適顯示技術。裝置50可以進一步包括小鍵盤34。在本發明的其它實施例中,可以采用任何合適的數據或用戶接口機制。例如,用戶接口可以被實現為作為觸敏顯示器的一部分的虛擬鍵盤或數據輸入系統。裝置可以包括麥克風36或任何合適的音頻輸入,其可以是數字或模擬信號輸入。裝置50可以進一步包括音頻輸出設備,在本發明的實施例中,其可以是以下任何一個:耳機38、揚聲器,或者模擬音頻或數字音頻輸出連接。裝置50還可以包括電池40(或者在本發明的其它實施例中,設備可以由諸如太陽能電池、燃料電池或發條發電機之類的任何合適的移動能量設備供電)。裝置可以進一步包括紅外端口 42,用于到其它設備的視覺通信的短程線路。在其它實施例中,裝置50可以進一步包括任何合適的短程通信解決方案,例如藍牙無線連接或USB/火線有線連接。
[0116]裝置50可以包括控制器56或處理器以便控制裝置50。控制器56可以被連接到存儲器58,在本發明的實施例中,存儲器58可以存儲圖像和音頻數據形式的數據和/或還可以存儲指令以便在控制器56上實現。控制器56可以進一步被連接到編解碼器電路54,編解碼器電路54適合于執行音頻和/或視頻數據的編碼和解碼或者有助于控制器56執行的編碼和解碼。
[0117]裝置50可以進一步包括讀卡器48和智能卡46,例如WCC和WCC讀取器,以提供用戶信息并且適合于提供認證信息以便在網絡處對用戶進行認證和授權。
[0118]裝置50可以包括無線電接口電路52,其連接到控制器并且適合于生成無線通信信號,例如以便與蜂窩通信網絡、無線通信系統或無線局域網通信。裝置50可以進一步包括天線44,其連接到無線電接口電路52,以便將在無線電接口電路52處生成的射頻信號發送到其它裝置(多個)并且從其它裝置(多個)接收射頻信號。
[0119]在本發明的某些實施例中,裝置50包括攝像機,其能夠記錄或檢測個體幀,然后將這些幀傳遞到編解碼器54或控制器以便處理。在本發明的其它實施例中,在發送和/或存儲之前,裝置可以從另一個設備接收視頻圖像數據以便處理。在本發明的其它實施例中,裝置50可以以無線方式或者通過有線連接來接收圖像以便編碼/解碼。
[0120]至于圖3,示出其中可以使用本發明的實施例的系統的一個實例。系統10包括多個通信設備,它們可以通過一個或多個網絡通信。系統10可以包括有線或無線網絡的任意組合,這些網絡包括但不限于無線蜂窩電話網絡(例如GSM、UMTS、CDMA網絡等)、例如由任意IEEE 802.X標準定義的無線局域網(WLAN)、藍牙個人區域網絡、以太局域網、令牌環局域網、廣域網以及因特網。
[0121]系統10可以包括適合于實現本發明的實施例的有線和無線通信設備或裝置50。
[0122]例如,圖3中