視頻編譯中的深度圖片編譯方法和設備與流程
2023-05-14 17:09:26

本發明涉及與視頻編譯有關的技術,尤其是,涉及在視頻編譯中用於編譯深度圖片的方法和設備。
背景技術:
近年來,對高解析度和高質量視頻的需求已經在各種應用領域中增加。但是,視頻數據的解析度和質量變得越高,視頻數據的量變得越大。
因此,當視頻數據被使用介質,諸如現有的有線或者無線寬帶線路傳送,或者視頻數據被存儲在現有的存儲介質中的時候,傳送成本及其存儲成本增加。高效率的視頻壓縮技術可用於有效地傳送、存儲和再現高解析度和高質量視頻數據。
另一方面,藉助於處理高解析度/大容量視頻能力的實現,使用3D視頻的數字廣播服務已經作為下一代廣播服務引起注意。3D視頻可以使用多視圖信道提供真實感和沉浸感。
3D視頻可以在各種領域中使用,諸如自由視點視頻(FVV)、自由視點TV(FTV)、3DTV、監視和家庭娛樂。
與單個視圖視頻不同,使用多視圖的3D視頻具有在具有相同的圖片順序計數(POC)的視圖之間高的相關性。因為以多個鄰近的相機拍攝相同的場景,也就是說,多視圖,除視差和微小的照度差別之外,多視圖視頻具有近似相同的信息,並且因此,差別視圖在其間具有高的相關性。
因此,在不同的視圖之間的相關性可以考慮用於編碼/解碼多視圖視頻,並且可以獲得用於當前的視圖的編碼和/或解碼需要的信息。例如,可以參考在另一個視圖中的塊,預測或者解碼在當前的視圖中要解碼的塊。
此外,由於深度圖片和紋理圖片包含有關相同的場景的信息,所以該深度圖片和紋理圖片互相具有高的相關性。因此,可以通過參考紋理圖片預測或者解碼深度圖片。
技術實現要素:
本發明提供在3維(3D)視頻編譯中預測當前塊的方法和裝置。
本發明提供執行視圖間運動預測(IMVP)的方法和設備。
本發明提供在執行IMVP時設置可用的參考視圖的方法和設備。
本發明提供在深度圖像編譯中推導當前塊的視差的方法和設備。
本發明提供設置用於推導當前塊的視差的參考視圖索引的方法和設備。
在一個方面中,提供了一種解碼3D視頻的方法。該解碼方法包括∶基於參考視圖和預先確定的值獲得視差值;基於視差值推導深度圖片中當前塊的運動信息;以及基於運動信息產生當前塊的預測採樣,其中參考視圖是參考圖片列表中參考圖片的視圖。
在另一個方面中,提供了一種解碼3D視頻的設備。該解碼設備包括∶解碼器,該解碼器接收包括預測模式信息的比特流;和預測器,該預測器基於參考視圖和預先確定的值獲得視差值;基於視差值推導深度圖片中當前塊的運動信息,以及基於運動信息產生當前塊的預測採樣,其中參考視圖是參考圖片列表中參考圖片的視圖。
按照本發明,當前塊的視差矢量可以在3D視頻編譯中順利地導出。
按照本發明,即使當基礎視圖不能被訪問時,可以基於解碼的圖片緩存器(DPB)中可用的參考視圖索引推導視差矢量,並且編譯效率可以提高。
附圖說明
圖1簡要地圖示本發明可適用於的3維(3D)視頻編碼和解碼過程。
圖2簡要地圖示本發明可適用於的視頻編碼設備的結構。
圖3簡要地圖示本發明可適用於的視頻解碼設備的結構。
圖4是示意地描述本發明可適用於的多視圖視頻編譯的一個示例的圖。
圖5是示意地圖示Wedgelet模式的圖。
圖6是示意地圖示Contour模式的圖。
圖7是示意地圖示SDC編譯方法的圖。
圖8是示意地圖示IVMP方法的圖。
圖9是示意地圖示按照本發明的實施例編碼3D視頻的方法的流程圖。
圖10是示意地圖示按照本發明的實施例解碼3D視頻的方法的流程圖。
具體實施方式
本發明可以以各種形式被不同地修改,並且可以具有各種實施例,而且其特定的實施例將在附圖中圖示,並且詳細描述。但是,這些實施例不意欲用於限制本發明。在以下的描述中使用的術語僅僅用於描述特定的實施例,但是,不意欲用於限制本發明的技術精神。單數的表示包括多數的表示,只要其被清楚地不同地閱讀。諸如「包括」和「具有」的詞意欲用於指示存在在以下的描述中使用的特點、數字、步驟、操作、要素、分量或者其組合,並且因此,應該理解,不排除存在或者增加一個或多個不同的特點、數字、步驟、操作、要素、分量或者其組合的可能性。
另一方面,出於對不同的特定功能解釋的便利的目的,在本發明中描述的附圖的單元被獨立地繪製,並不意味這些單元由單獨的硬體或者單獨的軟體實施。例如,在這些單元以外的兩個或更多個單元可以被合併形成一個單元,或者一個單元可以被分解為多個單元。不脫離本發明的構思,這些單元被合併和/或分解的實施例屬於本發明的範圍。
在下文中將參考伴隨的附圖詳細描述本發明的實施例。此外,相同的參考數字貫穿附圖用於表示相同的單元,並且對相同單元的相同的描述將被省略。
在本說明書中,圖片通常地指的是表示在特定的時間段中一個圖像的單元,並且片段是在編譯時構成圖片的一部分的單元。一個圖片可以由多個片段構成,並且根據需要,圖片和片段可以混合地使用。
像素或者像元可以指的是構成一個圖片(或者圖像)的最小單位。此外,「採樣」可以用作表示特定的像素值的術語。採樣通常地可以指示像素值,可以僅表示亮度分量的像素值,並且可以僅表示色度分量的像素值。
一個單位指示圖像處理的基本單位。單位可以包括特定的範圍和與該範圍相關的信息的至少一個。選擇性地,單位可以與諸如塊、範圍等等的術語混合。在一般情況下,M×N塊可以表示一組採樣或者以M列和N行排列的變換係數。
圖1簡要地圖示本發明可適用於的3維(3D)視頻編碼和解碼過程。
參考圖1,3D視頻編碼器可以編碼視頻圖片、深度圖和相機參數以輸出比特流。
深度圖可以相對於相應的視頻圖片(紋理圖片)的圖片,由相機和對象之間的距離信息(深度信息)構成。例如,深度圖可以是通過按照位深度歸一化深度信息獲得的圖像。在這種情況下,深度圖可以由無需色差表示記錄的深度信息構成。該深度圖可以被稱作深度圖圖片或者深度圖片。
通常,到對象的距離和視差相互成反比。因此,指示圖間相關性的視差信息可以通過使用相機參數從深度圖的深度信息導出。
與典型的彩色圖像,即,視頻圖片(紋理圖片)一起包括深度圖和相機參數的比特流可以經由網絡或者存儲介質發送給解碼器。
從解碼器側,比特流可以被接收以重建視頻。如果3D視頻解碼器被在解碼器側使用,3D視頻解碼器可以從比特流解碼視頻圖片、深度圖和相機參數。供多視圖顯示需要的視圖可以基於解碼的視頻圖片、深度圖和相機參數合成。在這種情況下,如果使用的顯示器是立體顯示器,3D圖像可以通過使用用於重建的多個視圖之中的二個視圖的圖片來顯示。
如果使用立體視頻解碼器,立體視頻解碼器可以從比特流中重建要入射到兩個眼睛的二個圖片。在立體顯示器中,立體圖像可以通過使用視圖差別,或者入射到左眼的左側圖像和入射到右眼的右側圖像的視差來顯示。當多視圖顯示器與立體視頻解碼器一起使用的時候,多視圖可以基於重建的二個圖片通過產生不同的視圖來顯示。
如果使用2D解碼器,2D圖像可以被重建以輸出圖像到2D顯示器。如果使用2D顯示器,但是,3D視頻解碼器或者立體視頻解碼器用作解碼器,則重建的圖像的一個可以被輸出到2D顯示器。
在圖1的結構中,可以在解碼器側執行,或者可以在顯示器側執行視圖合成。此外,解碼器和顯示器可以是一個設備或者可以是分離的設備。
雖然在圖1中為了方便起見,描述3D視頻解碼器和立體視頻解碼器和2D視頻解碼器是分離的解碼器,一個解碼設備可以執行3D視頻解碼、立體視頻解碼和2D視頻解碼的全部。此外,3D視頻解碼設備可以執行3D視頻解碼,立體視頻解碼設備可以執行立體視頻解碼,並且2D視頻解碼設備可以執行2D視頻解碼。此外,多視圖顯示器可以輸出2D視頻或者可以輸出立體視頻。
圖2簡要地圖示本發明可適用於的視頻編碼設備的結構。
參考圖2,視頻編碼設備200包括圖片分割器205、預測器210、減法器215、變換器220、量化器225、重新排序器230、熵編碼器235、去量化器240、反變換器245、加法器250、濾波器255和存儲器260。
圖片分割器205可以將輸入圖像分割為至少一個處理單元塊。在這種情況下,處理單元塊可以是編譯單元塊、預測單元塊,或者變換單元塊。作為編譯的單元塊,編譯單元塊可以按照四樹結構從最大的編譯單元塊分割。作為從編譯單元塊分割的塊,該預測單元塊可以是採樣預測的單元塊。在這種情況下,該預測單元塊可以被劃分為子塊。該變換單元塊可以是按照四樹結構從編譯單元塊分割的,並且可以是用於按照變換係數推導的單元塊,或者是用於從變換係數推導殘差信號的單元塊。
在下文中,該編譯單元塊可以被稱作編譯塊(CB)或者編譯單元(CU),該預測單元塊可以被稱作預測塊(PB)或者預測單元(PU),並且該變換單元塊可以被稱作變換塊(TB)或者變換單元(TU)。
該預測塊或者預測單元可以指的是在圖片中具有塊形狀的特定的範圍,並且可以包括一系列的預測採樣。此外,該變換塊或者變換單元可以指的是在圖片中具有塊形狀的特定的範圍,並且可以包括變換係數或者一系列的殘差採樣。
該預測器210可以對處理目標塊(在下文中,當前塊)執行預測,並且可以產生包括用於當前塊的預測採樣的預測塊。在預測器210中執行的預測單元可以是編譯塊,或者可以是變換塊,或者可以是預測塊。
該預測器210可以確定是否幀內預測適用於當前塊,或者幀間預測適用於當前塊。例如,該預測器210可以確定是否以CU為單位應用幀內預測或者幀間預測。
在幀內預測的情況下,預測器210可以在當前塊屬於的圖片(在下文中,當前的圖片)中,基於在當前塊外邊的參考採樣推導出用於當前塊的預測採樣。在這種情況下,預測器210可以基於平均值或者當前塊的鄰近參考採樣的內插推導出預測採樣(情形(i)),或者可以基於在當前塊的鄰近參考採樣之中作為預測採樣存在於特定的(預測)方向中的參考採樣推導出預測採樣(情形(ii))。情形(i)可以被稱作非定向的模式,並且情形(ii)可以被稱作定向的模式。該預測器210可以通過使用適用於該鄰近塊的預測模式確定要被應用於當前塊的預測模式。
在幀間預測的情況下,預測器210可以基於由運動矢量對參考圖片指定的採樣推導出用於當前塊的預測採樣。預測器210可以通過應用跳過模式、合併模式和運動矢量預測(MVP)模式中的任何一個推導出用於當前塊的預測採樣。在跳過模式和合併模式的情形下,預測器210可以將鄰近塊的運動信息作為當前塊的運動信息使用。在跳過模式的情況下,與合併模式不同,在預測採樣和原始採樣之間的差值(殘差)不被發送。在MVP模式的情況下,鄰近塊的運動矢量被用作運動矢量預測器,並且因此被用作當前塊的運動矢量預測器以推導出當前塊的運動矢量。
在幀間預測的情況下,鄰近塊包括存在於當前的圖片中的空間鄰近塊和存在於參考圖片中的時間鄰近塊。包括時間鄰近塊的參考圖片也可以被稱作並置的圖片(colPic)。運動信息可以包括運動矢量和參考圖片。如果時間鄰近塊的運動信息被在跳過模式和合併模式中使用,則在參考圖片列表上的頂端圖片可以被用作參考圖片。
多視圖可以被劃分為獨立視圖和相關視圖。在對於獨立視圖編譯的情況下,預測器210可以不僅執行幀間預測,而且可以執行視圖間預測。
該預測器210可以通過包括不同的視圖的圖片配置參考圖片列表。對於視圖間預測,預測器210可以推導出視差矢量。與在當前的視圖的不同的圖片中指定對應於當前塊的塊的運動矢量中不同,該視差矢量可以在與當前的圖片相同的訪問單元(AU)的另一個視圖中指定對應於當前塊的塊。在多視圖中,例如,AU可以包括視頻圖片和對應於相同時間實例的深度圖。在此處,AU可以指的是具有相同的圖片順序計數(POC)的一組圖片。POC對應於顯示順序,並且可以不同於編譯順序。
預測器210可以基於視差矢量指定在深度視圖中的深度塊,並且可以執行合併列表配置、視圖間運動預測、殘差預測、照度補償(IC)、視圖合成等等。
用於當前塊的視差矢量可以通過使用相機參數從深度值導出,或者可以從當前或者不同視圖中的鄰近塊的運動矢量或者視差矢量導出。
例如,預測器210可以將對應於參考視圖的時間運動信息的視圖間合併候選(IvMC),對應於視差矢量的視圖間視差矢量候選(IvDC)、通過視差矢量的移位推導出的移位的IvMC、噹噹前塊是在深度圖上的塊的時候,從相應的紋理圖片導出的紋理合併候選(T)、通過使用來自紋理合併候選者的視差推導出的視差推導合併候選(D)、基於視圖合成推導出的視圖合成預測候選(VSP)等等增加給合併候選列表。
在這種情況下,被包括在要被應用於相關視圖的合併候選列表中的候選的數目可以被局限於特定的值。
此外,預測器210可以通過應用視圖間運動矢量預測,基於視差矢量預測當前塊的運動矢量。在這種情況下,預測器210可以基於在相應的深度塊中最大的深度值的轉換推導出視差矢量。當通過將視差矢量增加給參考視圖中當前塊的採樣位置指定參考視圖中的參考採樣的位置的時候,包括參考採樣的塊可以被用作參考塊。預測器210可以將參考塊的運動矢量作為當前塊的候選運動參數或者運動矢量預測器候選使用,並且可以將視差矢量作為用於視差補償的預測(DCP)的候選視差矢量使用。
減法器215產生殘差採樣,其是在原始採樣和預測採樣之間的差值。如果應用跳過模式,殘差採樣可以不必如上所述產生。
變換器220變換以變換塊為單位的殘差採樣以產生變換係數。量化器225可以量化該變換係數以產生量化的變換係數。
重新排序器230重新排序該量化的變換係數。重新排序器230可以通過使用掃描方法以1D矢量形式重新排序具有塊形狀的量化的變換係數。
熵編碼器235可以對量化的變換係數執行熵編碼。熵編碼可以包括編碼方法,例如,指數Golomb、上下文自適應的可變長度編譯(CAVLC)、上下文自適應的二進位算術編譯(CABAC)等等。除了量化的變換係數之外,熵編碼器235可以共同地或者分別地對視頻重建需要的信息(例如,語法元素值等等)執行編碼。熵編碼的信息可以以比特流形式在網絡抽象層(NAL)的單元中發送或者存儲。
加法器250將殘差採樣和預測採樣相加以重建圖片。殘差採樣和預測採樣可以以塊為單位相加以產生重建塊。雖然在此處所描述的是加法器250被分別地配置,但加法器250可以是預測器210的一部分。
濾波器255可以將去塊濾波和/或採樣自適應偏移應用於重建的圖片。在重建的圖片中的塊邊界的偽影或者在量化過程中的失真可以被通過去塊濾波和/或採樣自適應偏移校正。採樣自適應偏移可以以採樣為單位被應用,並且可以在去塊濾波的過程完成之後被應用。
存儲器260可以存儲重建的圖片或者編碼/解碼需要的信息。例如,存儲器260可以存儲在幀間預測/視圖間預測中使用的(參考)圖片。在這種情況下,在幀間預測/視圖間預測中使用的圖片可以由參考圖片集或者參考圖片列表指定。
雖然在此處所描述的是一個編碼設備對獨立視圖和相關視圖進行編碼,但這是為了解釋的方便起見。因此,單獨的編碼設備可以被對於每個視圖配置,或者單獨的內部模塊(例如,用於每個視圖的預測模塊)可以被對於每個視圖配置。
圖3簡要地圖示本發明可適用於的視頻解碼設備的結構。
參考圖3,視頻解碼設備300包括熵解碼器310、重新排序器320、去量化器330、反變換器340、預測器350、加法器360、濾波器370和存儲器380。
當輸入包括視頻信息的比特流的時候,視頻解碼設備300可以與視頻信息通過其在視頻編碼設備中被處理的過程相結合來重建視頻。
例如,視頻解碼設備300可以通過使用在視頻編碼設備中應用的處理單元執行視頻解碼。因此,視頻解碼的處理單元塊可以是編譯單元塊、預測單元塊,或者變換單元塊。作為解碼的單元塊,編譯單元塊可以按照來自最大的編譯單元塊的四樹結構被分割。作為從編譯單元塊分割的塊,該預測單元塊可以是採樣預測的單元塊。在這種情況下,該預測單元塊可以被劃分為子塊。作為編譯單元塊,變換單元塊可以按照四樹結構被分割,並且可以是用於推導變換係數的單元塊,或者用於從變換係數推導殘差信號的單元塊。
熵解碼器310可以解析比特流以輸出視頻重建或者圖片重建需要的信息。例如,熵解碼器310可以基於編譯方法,諸如指數Golomb編碼、CAVLC、CABAC等等解碼在比特流中的信息,並且可以輸出視頻重建需要的語法元素值和關於殘差的變換係數的量化值。
如果多個視圖被處理以再現3D視頻,則比特流可以被對於每個視圖輸入。做為選擇,關於每個視圖的信息可以在比特流中被復用。在這種情況下,熵解碼器310可以解復用該比特流以對於每個視圖對其進行解析。
重新排序器320可以以2D塊的形式重新排序量化的變換係數。重新排序器320可以與在編碼設備中執行的係數掃描結合執行重新排序。
去量化器330可以基於(去)量化參數對量化的變換係數去量化以輸出變換係數。在這種情況下,用於推導量化參數的信息可以從編碼設備用信號通知。
反變換器340可以反變換該變換係數以推導出殘差採樣。
預測器350可以對當前塊執行預測,並且可以產生包括用於當前塊的預測採樣的預測塊。在預測器350中執行的預測單元可以是編譯塊,或者可以是變換塊,或者可以是預測塊。
該預測器350可以確定是否應用幀內預測或者幀間預測。在這種情況下,用於確定將在幀內預測和幀間預測之間使用哪一個的單元可以不同於用於產生預測採樣的單元。此外,用於產生預測採樣的單元也可以在幀間預測和幀內預測方面不同。例如,將在幀間預測和幀內預測之間應用哪一個可以以CU為單位確定。此外,例如,在幀間預測中,預測採樣可以通過以PU為單位確定預測模式來產生,並且在幀內預測中,預測採樣可以通過以PU為單位確定預測模式,以TU為單位來產生。
在幀內預測的情況下,預測器350可以基於在當前的圖片中的鄰近參考採樣推導出用於當前塊的預測採樣。預測器350可以基於當前塊的鄰近參考採樣,通過應用定向模式或者非定向模式推導出用於當前塊的預測採樣。在這種情況下,要被應用於當前塊的預測模式可以通過使用鄰近塊的幀內預測模式確定。
在幀間預測的情況下,預測器350可以基於對參考圖片指定的採樣,通過在參考圖片上的運動矢量推導出用於當前塊的預測採樣。預測器350可以通過應用跳過模式、合併模式和MVP模式中的任何一個推導出用於當前塊的預測採樣。
在跳過模式和合併模式的情形下,鄰近塊的運動信息可以用作當前塊的運動信息。在這種情況下,鄰近塊可以包括空間鄰近塊和時間鄰近塊。
預測器350可以通過使用可用的鄰近塊的運動信息構成合併候選列表,並且可以將在合併候選者列表上由合併索引指示的信息作為當前塊的運動矢量使用。該合併索引可以從編碼設備用信號通知。該運動信息可以包括運動矢量和參考圖片。當時間鄰近塊的運動信息被在跳過模式和合併模式中使用的時候,在參考圖片列表上的最高的圖片可以用作參考圖片。
在跳過模式的情況下,與合併模式不同,在預測採樣和原始採樣之間的差值(殘差)不被發送。
在MVP模式的情況下,當前塊的運動矢量可以通過將鄰近塊的運動矢量作為運動矢量預測器使用來推導。在這種情況下,鄰近塊可以包括空間鄰近塊和時間鄰近塊。
在相關視圖的情況下,該預測器350可以執行視圖間預測。在這種情況下,該預測器350可以通過包括不同的視圖的圖片來配置參考圖片列表。
對於視圖間預測,預測器350可以推導出視差矢量。預測器350可以基於視差矢量指定在深度視圖中的深度塊,並且可以執行合併列表配置、視圖間運動預測、殘差預測、照度補償(IC)、視圖合成等等。
用於當前塊的視差矢量可以通過使用相機參數從深度值導出,或者可以從當前的或者不同的視圖中的鄰近塊的運動矢量或者視差矢量導出。相機參數可以從編碼設備用信號通知。
當合併模式被應用於相關視圖的當前塊的時候,預測器350可以將對應於參考視圖的時間運動信息的IvMC、對應於視差矢量的IvDC、通過視差矢量的移位推導出的移位的IvMC、噹噹前塊是在深度圖上的塊的時候,從相應的紋理圖片導出的紋理合併候選(T)、通過使用來自紋理合併候選的視差推導出的視差推導合併候選(D)、基於視圖合成推導出的視圖合成預測候選(VSP)等等增加給合併候選列表。
在這種情況下,被包括在要被應用於相關視圖的合併候選列表中的候選者的數目可以被局限於特定的值。
此外,預測器350可以通過應用視圖間運動矢量預測,基於視差矢量預測當前塊的運動矢量。在這種情況下,預測器350可以將在由視差矢量指定的參考視圖中的塊作為參考塊使用。預測器350可以將參考塊的運動矢量作為候選運動參數或者當前塊的運動矢量預測器候選使用,並且可以將視差矢量作為用於視差補償的預測(DCP)的候選矢量使用。
加法器360可以將殘差採樣和預測採樣相加以重建當前塊或者當前的圖片。加法器360可以以塊為單位將殘差採樣和預測採樣相加以重建當前的圖片。當應用跳過模式的時候,殘差不被發送,並且因此,預測採樣可以是重建採樣。雖然在此處所描述的是加法器360被單獨地配置,但加法器360可以是預測器350的一部分。
濾波器370可以將去塊濾波和/或採樣自適應偏移應用於重建的圖片。在這種情況下,採樣自適應偏移可以以採樣為單位被應用,並且可以在去塊濾波之後被應用。
存儲器380可以存儲重建的圖片和在解碼時需要的信息。例如,存儲器380可以存儲在幀間預測/視圖間預測中使用的圖片。在這種情況下,在幀間預測/視圖間預測中使用的圖片可以由參考圖片集或者參考圖片列表指定。重建的圖片可以用作不同的圖片的參考圖片。
此外,存儲器380可以按照輸出順序輸出重建的圖片。雖然未示出,輸出單元可以顯示多個不同的視圖以再現3D圖像。
雖然在圖3的示例中所描述的是獨立視圖和相關視圖被在一個解碼設備中解碼,但這僅僅是為了示範性的目的,並且本發明不受限於此。例如,每個解碼設備可以對於每個視圖操作,並且內部模塊(例如,預測模塊)可以在一個解碼設備中與每個視圖結合來提供。
多視圖視頻編譯可以通過使用屬於與當前的圖片相同的訪問單元(AU)的不同的視圖的解碼數據,對當前的圖片執行編譯以提高對於當前的視圖的視頻編譯效率。
在多視圖視頻解碼中,視圖可以被以AU為單位編譯,並且圖片可以被以視圖為單位編譯。編譯被按照確定的順序在視圖之間執行。可以無需另一個視圖的參考編譯的視圖可以被稱作基礎視圖或者獨立視圖。此外,在獨立視圖被編譯之後,可以參考獨立視圖或者另一個視圖編譯的視圖可以被稱作相關視圖或者擴展視圖。此外,如果當前的視圖是相關視圖,則在當前的視圖的編譯中作為參考使用的視圖可以被稱作參考視圖。在此處,視圖的編譯包括屬於該視圖的紋理圖片、深度圖片等等的編譯。
圖4是示意地描述本發明可適用於的多視圖視頻編譯的一個示例的圖。
在編譯多視圖視頻的情況下,在一個AU中視圖ID相互不同並且POC彼此相同的圖片被按照預先限定的視圖編譯順序編譯。
例如,如在圖4中圖示的,二個視圖(視圖V0和V1)被編譯,並且視圖編譯順序被假設為視圖V0和V1的順序。在這種情況下,作為首先在AU中編譯的視圖的V0可以無需參考另一個視圖編譯,並且V0變為基礎視圖或者獨立視圖,並且作為接下來編譯的視圖的V1變為相關視圖。
無需參考另一個視圖,基礎視圖被通過參考包括在基礎視圖中的圖片編譯。相關視圖通過參考另一個視圖編譯,另一個視圖已經在被緊接著基本視圖編譯的同時被編譯。
在多視圖視頻編譯中,屬於相關視圖的CU可以通過參考已經被編譯的圖片執行幀間預測。在這種情況下,通過參考視圖ID彼此相同的圖片執行預測的方法稱為運動補償的預測(MCP),並且通過參考在相同的AU中視圖ID彼此不同的圖片執行預測的方法稱為視差補償的預測(DCP)。
例如,參考圖4,塊A可以通過參考屬於相同的視圖V1的圖片,基於運動矢量,通過執行MCP導出預測採樣。塊B可以通過參考在相同的AU中來自塊B的不同的視圖V0的圖片,基於視差矢量,通過執行DCP導出預測採樣。在編譯多視圖視頻時,不同的視圖的圖片可以被使用,並且可以使用相同的視圖的深度圖片。
例如,當預測採樣通過執行DCP導出的時候,視差矢量被增加給在當前塊中對應於預測採樣的位置(x,y)的參考視圖中相應的圖片的位置(x,y),以確定在參考視圖中相應的圖片的參考採樣的位置。預測採樣可以基於在參考視圖中的參考採樣導出。作為一個示例,該視差矢量可以僅僅具有X軸分量。在這種情況下,視差矢量可以是(disp,0),並且參考採樣的位置(xr,y)可以被確定為(x+disp,y)。在此處,disp表示視差矢量的值。
同時,3D視頻包括具有常規的彩色圖像信息的紋理圖片,和具有有關紋理圖片的深度信息的深度圖片。在3D視頻中,在相同的POC中具有不同的視圖的多個紋理圖片可能存在,並且對應於多個紋理圖片的深度圖片可能分別地存在。此外,多個紋理圖片可以從具有不同的視圖的多個相機獲得。
深度圖片存儲每個像素具有作為灰度級的距離,並且存在許多的情形,其中在相應的像素之間的微小的深度差值不是很大,並且深度圖可以被表示,同時在一個塊中被劃分為二個類型的前景和背景。此外,深度圖視頻示出深度圖具有在對象的邊界上強的邊緣的特徵,並且在除該邊界以外的位置上具有近似恆定值(例如,恆定值)。
深度圖片可以通過與紋理圖片類似的方法,通過使用幀內預測、運動補償、視差補償、變換等等來編碼和解碼。但是,由於深度圖片具有像素值的變化不是很大,並且深度圖片具有強的邊緣的特徵,所以可以使用反射深度圖片特徵的新的幀內預測模式。
在用於深度圖片的幀內預測模式中,塊(做為選擇,深度塊)可以表示為模型,該模型將塊分割為二個非矩形區域,並且每個分割的區域可以被表示為恆定值。
如上所述,通過在深度圖片中對塊進行建模預測深度圖片的幀內預測模式稱為深度建模模式(DMM)。在DMM中,深度圖片可以被基於指示如何在深度圖片中分割該塊的分割信息和指示每個分割填充哪個值的信息預測。
例如,DMM可以被劃分為Wedgelet模式和Contour模式。
圖5是示意地圖示Wedgelet模式的圖。
參考圖5,在Wedgelet模式中,在該塊(做為選擇,深度塊和當前塊)中的二個區域可以通過直線被分割。也就是說,該塊可以通過直線SE被分割為區域P1和區域P2。在分割區域的每個中,預測值可以作為一個恆定值被產生。
圖6是示意地圖示Contour模式的圖。
參考圖6,在Contour模式中,在該塊(做為選擇,深度塊和當前塊)中的二個區域可以通過預先確定的曲線形狀被分割。在Contour模式中,在該塊中的二個區域可能不容易地由一個幾何函數表示,並且二個區域可以具有預先確定的形狀。在此處,如在圖5中圖示的,每個區域可能不是一個塊狀,而是分割的形狀。在Contour模式中,該區域可以基於在深度圖片中在對應當前塊(深度塊)的紋理圖片中相應的塊(紋理塊)被分割。在Contour模式中,在分割的區域的每個中,預測值可以作為一個恆定值產生。
在產生用於該塊的預測值之後,計算表示在原始採樣和預測採樣之間的差值(做為選擇,殘差信號)的殘差,並且殘差信號可以類似於在相關技術中的幀內預測模式被經由變換和量化發送。
同時,分段式DC編譯(SDC)方法可以被用於深度圖片。在SDC中,殘差信號可以通過使用分割的區域的預測值的平均值產生。在SDC中,殘差數據可以無需變換和量化過程而被編譯。通常,深度圖片的採樣(像素)值沒有從最小值(例如,0)到最大值(例如,255)均勻分布,而是在特定的區域中集中地分布,並且具有該值的變化作為該塊的單位不是很大的特徵。深度查找表(DLT)通過考慮這樣的特徵產生,並且當通過使用該深度查找表,通過將深度圖片的深度值轉換為深度查找表的索引值而執行編譯的時候,要編譯的位數可以被降低。通過使用深度查找表產生的殘差塊可以無需變換和量化過程被熵編碼。也就是說,SDC可以被認為是殘差編譯方法,其僅僅發送原始圖片的平均亮度值和預測圖片的平均亮度值之間的差值。
在下文中,將更詳細地描述SDC方法。
深度圖片的深度值被每個序列參數集(SPS)或者片段發送。在這種情況下,深度圖片的深度值可以被基於DLT發送。在這種情況下,用於SDC的預測通過CU或者PU塊的單位執行。
例如,在當前塊中相對於相應的分割的區域(在DMM的情況下,二個區域,並且在平面模式的情況下,一個區域)幀內預測的深度值的平均值DCpred和原始深度值的平均值DCorg被計算,並且相應的計算的平均值被映射為在DLT中具有最小的誤差的值以找到每個索引值。此外,代替對原始深度值和預測深度值之間的差值的編譯,在用於映射為DLT的原始深度值的平均值DCorg的索引和用於預測深度值的平均值DCpred的索引之間的差值SDCresidual可以被編譯。SDC可以通過作為CU塊的單位的標記信息有選擇地使用。SDC模式信息被發送給SDC被應用於的塊。在SDC模式信息被發送之後,在用於原始深度值的平均值DCorg的索引和用於預測深度值的平均值DCpred的索引之間的差值SDCresidual被發送。
以下給出的等式1示出通過SDC方法產生用於當前塊的差別索引值的過程。
[等式1]
SDCresidual=Value2Idx(DCorg)-Value2Idx(DCpred)
在等式1中,Value2Idx(x)表示在DLT中具有最靠近於x值輸入的值的索引。
圖7是示意地圖示SDC編譯方法的圖。
參考圖7,DCorg相對於要編譯的原始塊獲得,DCpred相對於通過幀內預測產生的預測塊獲得,並且此後,DCorg和DCpred的每個被映射為具有最靠近DLT值的索引。在圖6中,DCorg被映射為DLT索引2,並且DCpred被映射為DLT索引4。因此,在編譯過程期間,2作為對應於兩個DLT索引之間差值的值被編譯和發送。同時,在映射DCorg和DCpred之後沒有索引差值的情形可能經常發生,並且指示是否索引差值存在的標誌可以首先被發送用於有效處理。在標誌值是0的情形下,該情形指的是在DCorg和DCpred之間沒有差別,並且解碼器可以通過使用預測塊的平均值DCpred產生重建的圖像。在標誌值是1的情形下,該情形指的是在DCorg和DCpred之間存在差別,並且在這種情況下,該索引差值被發送。由於索引差值可以作為負數和正數存在,所以該索引差值的符號和幅值中的每個可以被發送。
同時,在深度圖片屬於相關視圖的情形下,可以使用視圖間運動預測(IVMP),其基於運動信息,諸如在類似於紋理圖片的參考視圖的相應的塊中存在的運動矢量推導出當前塊的運動信息。
圖8是示意地圖示IVMP方法的圖。
參考圖8,假設在當前的圖片810中的當前塊820被編譯(編碼/解碼)。在此處,當前的圖片810可以是深度圖片。此外,在此處,當前塊820可以是預測塊,並且可以是基於MCP編譯的塊。在應用IVMP的情形下,當前塊820的運動信息可以基於在圖間參考圖片830中的相應的塊840的運動信息而被推導出。相應的塊840可以基於該視差矢量導出。
按照本發明,提供了用於有效地執行幀內預測、視差導出和用於深度圖片的SDC的信令方法。
通常,用於幀內預測的預測單元PU的範圍可以由編碼器確定。但是,實際地預測的PU的大小可以根據變換單元TU的大小變化。也就是說,塊信息和預測模式通過PU的單元發送,但是,幀內預測過程通過TU的單元執行。由於當前塊的鄰近塊的像素被在幀內預測中編譯,所以該預測被按照遠離PU大小的TU大小執行。也就是說,在幀內預測過程期間,該幀內預測通過使用TU單元塊的重建的鄰近採樣執行。這將通過使用重建的鄰近像素提高壓縮和編譯效率。因此,在其中執行幀內預測的塊的大小受限於TU大小。相反地,由於在SDC方法中沒有使用變換和量化,所以不考慮TU大小,該預測可以相對於PU執行。但是,有時候,用於大於現有的最大TU大小的塊的幀內預測可能在編碼器中需要,並且為此,甚至相對於SDC方法被應用於的塊,其可以被限制,使得PU預測被按照TU大小執行。同時,在DMM的情況下,由於該模式的特徵,即使PU大小大於TU大小,該預測也不能由分割該塊來執行。因此,當PU大小大於TU大小的時候,其需要被限制,使得不應用DMM。用於大於由編碼器設置的TU大小的塊的預測過程可以經由這樣的限制被排除。
同時,如上所述,視差矢量是執行相關視圖的當前的(深度)圖片的當前塊的IVMP所需要的。與來自鄰近塊(NBDV)的視差矢量或者面向深度的視差矢量導出(DoNBDV)被用於紋理視圖或者紋理圖片的情形不同,用於深度視圖或者深度圖片的視差可以從鄰近解碼的深度值導出,或者從預先確定的(深度)值導出。預先確定的(深度)值可以是深度值範圍的中間值。此外,預先確定的值可以是「1<<(位深度-1)」。在此處,位深度可以是相對於亮度採樣設置的位深度。
在IVMP中,由於運動矢量可以從參考視圖的相應的塊獲得,當導出該視差矢量的時候,需要考慮用於獲得運動矢量的參考視圖。作為一個示例,該參考視圖不能被固定到基礎視圖上,但是,可以被設置為在參考圖片列表中可用的參考圖片的視圖。此外,用於導出視差矢量的參考視圖和用於獲得運動矢量的參考視圖可以被設置為彼此相同。
例如,該視差矢量可以如以下給出的等式2所示導出。
[等式2]
DispVec[x][y]=(DepthToDisparityB[DefaultRefViewIdx][1<<(BitDe pth-1)],0)
這裡DepthToDisparityB[j][d]表示在當前的視圖和具有ViewIdx等於j的視圖之間的視差矢量的水平分量,j在具有ViewIdx等於j的視圖中對應於深度值d。也就是說,在此處,DefaultRefViewIdx表示用於導出視差矢量的參考視圖的索引。在這種情況下,用於獲得運動矢量的參考視圖的參考視圖順序索引(RefViewIdx)可以與DefaultRefViewIdx相同。
同時,如上所述,按照SDC,用於當前塊的差別索引值被發送,並且在這種情況下,差別索引值可以通過二個步驟發送,或者作為差值被立即發送。作為一個示例,指示是否索引差值存在的標誌信息可以被首先發送,並且當標誌值是1的時候,索引差值可以被發送。在這種情況下,該差值可能不具有0。因此,在這種情況下,用於索引差值的符號可以被連續地發送。作為另一個示例,無需指示是否索引差值存在的標誌信息,索引差值可以被立即發送。在這種情況下,索引差值可以具有0,並且只有當該索引差值不是0時,用於索引差值的符號可以被發送。
圖9是示意地圖示按照本發明的實施例用於編碼3D視頻的方法的流程圖。圖9的方法可以由圖2的視頻編碼設備執行。
參考圖9,編碼設備推導出視差矢量(S900)。視差矢量可以是用於深度視圖的當前的圖片的當前塊的視差矢量。編碼設備可以從鄰近解碼深度值推導出視差矢量,或者從如上所述的預先確定的值推導出視差矢量。預先確定的值可以是深度值範圍的中間值。此外,預先確定的值可以是「1<<(位深度-1)」。在此處,位深度可以是相對於亮度採樣設置的位深度。
編碼設備推導出用於當前塊的運動信息(S910)。編碼設備可以按照在參考圖片的預先確定的區域內的運動信息估算過程搜索類似於當前塊的塊,並且推導出用於當前塊的運動信息。
該編碼設備生成用於當前塊的預測採樣(S920)。編碼設備可以基於預測採樣和殘差採樣(信號)重建當前的圖片,並且重建的圖片可以作為用於編譯另一圖片的參考圖片使用。
該編碼設備可以編碼用於視頻解碼的視頻信息(S930)。編碼設備可以對該視頻信息進行熵編碼,並且作為比特流輸出熵編碼的視頻信息。該輸出的比特流可以經由網絡發送,或者存儲在存儲介質中。該視頻信息可以包括用於重建當前塊的信息(例如,預測模式信息和殘差信號)。該視頻信息可以包括用於重建當前塊的語法元素值。
圖10是示意地圖示按照本發明的實施例解碼3D視頻的方法的流程圖。圖10的方法可以由圖3的視頻解碼設備執行。
參考圖10,解碼設備推導出視差矢量(S700)。該解碼設備可以對包括在比特流中的視頻信息進行熵解碼,並且基於參考視圖和預先確定的值獲得用於在深度視圖中當前圖片的當前塊的視差值。
解碼設備可以從鄰近解碼深度值推導出視差矢量,或者從如上所述的預先確定的值推導出視差矢量。預先確定的值可以是深度值範圍的中間值。此外,預先確定的值可以是「1<<(位深度-1)」。在此處,位深度可以是相對於亮度採樣設置的位深度。該解碼設備可以基於以上給出的等式2推導出視差矢量。
參考視圖可以是參考圖片列表中參考圖片的視圖。作為一個示例,參考視圖可以是參考圖片列表中第一參考圖片的視圖。
解碼設備基於視差值推導出當前塊的運動信息(S1010)。解碼設備可以基於IVMP方法推導當前塊的運動信息。在這種情況下,當前塊的運動信息可以通過使用該視差值,基於在視圖間參考圖片上推導出的相應的塊的運動信息來推導。在此處,相應的塊的運動信息可以作為當前塊的運動信息使用。該運動信息包括運動矢量。在此處,屬於圖間參考圖片的視圖可以與參考視圖相同。
解碼設備基於該運動信息產生當前塊的預測採樣(S1020)。解碼設備可以基於深度視圖(當前的視圖)中的運動信息和參考圖片產生當前塊的預測採樣。也就是說,解碼設備可以在基於有關深度視圖中的參考圖片的運動信息推導出的塊的基礎上產生預測採樣。
解碼設備可以從接收的比特流產生用於當前塊的殘差採樣,並且通過基於產生的預測採樣和殘差採樣導出重建採樣來重建當前的圖片。採樣可以通過塊或者圖片的單元重建。
雖然參考其示例性實施例已經特別示出和描述了本發明,但那些本領域技術人員應理解,不脫離在所附的權利要求中限定的本發明的精神和範圍,可以在其中在形式和細節方面進行各種各樣的變化。該示例性實施例將被認為僅僅是敘述性的感知並且不是為了限制的目的,並且不意欲限制本發明的技術範圍。因此,本發明的範圍將由所附的權利要求限定。
當以上描述的實施例在本發明中被以軟體實現的時候,以上描述的方案可以使用執行以上功能的模塊(過程或者功能)實現。該模塊可以被存儲在存儲器中,並且由處理器執行。存儲器可以被內部地或者外部地布置到處理器,並且使用各種公知手段連接到處理器。