本申請是申請日為2012年6月27日、申請?zhí)枮?01280042090.x、題為“用于對運動信息進行編碼的方法和設備以及用于對運動信息進行解碼的方法和設備”的專利申請的分案申請。
本發(fā)明涉及一種用于編碼和解碼運動信息的方法和設備,更具體地講,涉及一種用于有效編碼和解碼當前預測單元的運動信息的方法和設備。
背景技術:
最近,隨著高分辨率視頻內容變得被廣泛使用,對具有比傳統(tǒng)視頻編解碼器(諸如mpeg-4h.264/mpeg-4先進視頻編碼(avc))更高編碼效率的視頻編解碼器的需要增加。
根據作為用于去除視頻信號中的空間冗余的技術的運動補償,通過發(fā)送作為在原始視頻信號和由運動矢量指示的參考信號之間的差值的殘差信號來提高壓縮效率。通常,將作為通過使用運動補償編碼每個塊而獲得的編碼結果的每個塊的運動矢量和殘差值發(fā)送到解碼器。由于每個塊的運動矢量占據大量的編碼比特流,因此需要減少關于分配給每個塊的運動矢量的信息,以提高壓縮效率。
為了減少在運動矢量的編碼期間的發(fā)送開銷,在傳統(tǒng)的mpeg-2編解碼器中,將先前塊的運動矢量用作當前塊的預測運動矢量,并且在諸如mpeg-4h.264/mpeg-4avc中,將與當前塊的左側、上側和右上側相鄰的被先前編碼的塊的運動矢量的中值用作當前塊的預測運動矢量。
技術實現要素:
技術問題
本發(fā)明提供一種用于有效編碼和解碼當前預測單元的運動信息的方法和設備。
技術方案
根據本發(fā)明的實施例,通過使用在空間上與當前預測單元共同定位(collocate)的預測單元的運動信息和在時間上與當前預測單元共同定位的預測單元的運動信息來產生各種候選運動信息。
有益效果
根據本發(fā)明的實施例,可通過使用基于相鄰預測單元的運動信息而獲得的各種運動候選來提高圖像的壓縮效率。
附圖說明
圖1是根據本發(fā)明的實施例的用于編碼視頻的設備的框圖;
圖2是根據本發(fā)明的實施例的用于解碼視頻的設備的框圖;
圖3是用于描述根據本發(fā)明的實施例的編碼單元的概念的框圖;
圖4是根據本發(fā)明的實施例的基于編碼單元的圖像編碼器的框圖;
圖5是根據本發(fā)明的實施例的基于編碼單元的圖像解碼器的框圖;
圖6是根據本發(fā)明的實施例的根據深度的較深層編碼單元和分區(qū)的示圖;
圖7是根據本發(fā)明的實施例的在編碼單元和變換單元之間的關系的示圖;
圖8是根據本發(fā)明的實施例的用于描述與編碼深度相應的編碼單元的編碼信息的示圖;
圖9是根據本發(fā)明的實施例的根據深度的較深層編碼單元的示圖;
圖10至圖12是根據本發(fā)明的實施例的用于描述在編碼單元、預測單元和變換單元之間的關系的示圖;
圖13是根據表1的編碼模式信息的用于描述在編碼單元、預測單元或分區(qū)和變換單元之間的關系的示圖;
圖14是根據本發(fā)明的實施例的運動信息編碼設備的框圖;
圖15是根據本發(fā)明的實施例的圖14的候選運動信息產生單元的框圖;
圖16示出根據本發(fā)明的實施例的在空間上與當前預測單元共同定位的相鄰預測單元;
圖17a是根據本發(fā)明的實施例的用于解釋確定被縮放的空間預測運動矢量候選的處理的參考示圖;
圖17b是根據本發(fā)明的實施例的用于解釋通過使用在空間上與當前預測單元共同定位的預測單元來產生附加候選運動信息的處理的參考示圖;
圖18是根據本發(fā)明的實施例的用于解釋通過縮放相鄰預測單元的運動矢量來產生當前預測單元的預測運動矢量候選的方法的參考示圖;
圖19是根據本發(fā)明的實施例的用于解釋產生時間候選運動信息的處理的參考示圖;
圖20a和圖20b是根據本發(fā)明的另一實施例的用于解釋通過使用可用的預測單元的運動信息來產生附加候選運動信息的處理的示圖;
圖21a和圖21b是根據本發(fā)明的實施例的用于描述當產生圖20a和圖20b的附加候選運動信息時在當前畫面和參考畫面之間的位置關系的示圖;
圖22是根據本發(fā)明的實施例的編碼運動矢量的方法的流程圖;
圖23是根據本發(fā)明的實施例的運動矢量解碼設備的框圖;
圖24是根據本發(fā)明的實施例的解碼運動信息的方法的流程圖。
最優(yōu)實施方式
根據本發(fā)明的一方面,提供一種編碼運動信息的方法,所述方法包括:對當前預測單元執(zhí)行運動預測以獲得關于當前預測單元的運動信息;確定在空間上與當前預測單元共同定位的空間預測單元的運動信息和在時間上與當前預測單元共同定位的時間預測單元的運動信息是否可用;作為所述確定的結果,當空間預測單元的運動信息和時間預測單元的運動信息的數量小于預定數量“n”時,通過使用可用的空間預測單元的運動信息和時間預測單元的運動信息來產生附加候選運動信息,使得候選運動信息的總條數是“n”,其中,n是整數;通過使用“n”條運動信息來編碼當前預測單元的運動信息。
所述確定的步驟可包括:以預定掃描順序搜索位于當前預測單元上方的預定預測單元,并將具有可用運動信息的第一上側預測單元的運動信息選擇為當前預測單元的上側空間運動信息候選;以預定掃描順序搜索位于當前預測單元左側的預定預測單元,并將具有可用運動信息的第一左側預測單元的運動信息選擇為當前預測單元的左側空間運動信息候選;基于具有與當前預測單元相同的位置的先前畫面的預測單元,將從先前畫面選擇的先前畫面的預測單元的運動信息選擇為當前預測單元的時間運動信息候選,其中,當通過使用上側空間運動信息候選、左側空間運動信息候選和時間運動信息候選獲得的候選運動信息的總條數小于“n”時,執(zhí)行附加候選運動信息的產生。
產生附加候選運動信息的步驟可包括:以預定掃描順序將在具有可用運動信息的第一上側預測單元被搜索之后被搜索的可用上側預測單元的運動信息產生為附加候選運動信息。
產生附加候選運動信息的步驟可包括:以預定掃描順序產生在具有可用運動信息的第一左側預測單元被搜索之后被搜索的具有可用左側預測單元的運動信息的附加候選運動信息。
產生附加候選運動信息的步驟可包括:當基于具有與當前預測單元相同的位置的先前畫面的預測單元而確定的先前畫面的預測單元以預定掃描順序被掃描時,對在除了具有可用運動信息的第一先前畫面的預測單元之外的先前畫面的其余預測單元中的具有運動信息的所述先前畫面的預測單元的運動信息進行縮放,并產生附加候選運動信息。
所述確定的步驟可包括:將在位于當前預測單元上方和左側的預定預測單元中的被先前確定位置的預定空間預測單元的運動信息選擇為當前預測單元的空間運動信息候選;將基于具有與當前預測單元相同的位置的先前畫面的預測單元從先前畫面中選擇的先前畫面的預測單元的運動信息選擇為當前預測單元的時間運動信息候選,其中,當通過使用空間運動信息候選和時間運動信息候選而獲得的候選運動信息的總條數小于“n”時,執(zhí)行附加候選運動信息的產生。
產生附加候選運動信息的步驟可包括:將被先前確定的預定運動信息產生為附加候選運動信息。所述預定運動信息可以是具有預定值的運動矢量、具有預定值的參考畫面索引以及根據當前預測單元所屬的條帶類型的參考方向信息。
產生附加候選運動信息的步驟可包括:當可用空間預測單元和時間預測單元的運動信息包括方向l0和方向l1的預測的雙向運動矢量信息時,通過將預定偏移量加到方向l0的預測的運動矢量和方向l1的預測的運動矢量上或從方向l0的預測的運動矢量和方向l1的預測的運動矢量減去預定偏移量來產生附加候選運動信息。
當在方向l0的預測中使用的第一參考畫面和在方向l1的預測中使用的第二參考畫面位于基于包括當前預測單元的當前畫面的相同位置時,可將所述偏移量加到方向l0的預測的運動矢量和方向l1的預測的運動矢量上,并且當當前畫面位于在方向l0的預測中使用的第一參考畫面和在方向l1的預測中使用的第二參考畫面之間時,可將所述偏移量加到方向l0的預測的運動矢量上,并將通過使所述偏移量乘以-1而獲得的值加到方向l1的預測的運動矢量上。
產生附加候選運動信息的步驟可包括:改變可用空間預測單元的運動信息和可用時間預測單元的運動信息的預測方向以產生附加候選運動信息。
產生附加候選運動信息的步驟可包括:當可用空間預測單元的運動信息和可用時間預測單元的運動信息包括方向l0的預測和方向l1的預測的雙向運動矢量信息時,通過使用從方向l0的方向和方向l1的方向中選擇的一個方向的單向運動信息來產生附加候選運動信息。
產生附加候選運動信息的步驟可包括:當可用空間預測單元的運動信息和可用時間預測單元的運動信息包括從方向l0的方向和方向l1的方向中選擇的一個方向的單向運動信息時,通過使用經由合并方向l0的預測和方向l1的預測而獲得的雙向運動信息來產生附加候選運動信息。
產生附加候選運動信息的步驟可包括:當可用空間預測單元的運動信息和可用時間預測單元的運動信息包括從方向l0的方向和方向l1的方向中選擇的一個方向的單向運動信息時,將通過合并包括具有預定分量值的運動矢量的單向運動信息而產生的雙向運動信息產生為附加候選運動信息。
另外,產生附加候選運動信息的步驟可包括:將具有擁有預定值的參考畫面索引的參考畫面產生為附加候選運動信息。
在產生附加候選運動信息時,可不檢查默認候選運動信息和產生的附加候選運動信息是否重復,并可將產生的附加候選運動信息添加到候選運動信息。
根據本發(fā)明的另一方面,提供一種用于編碼運動信息的設備,所述設備包括:候選運動信息產生單元,用于對當前預測單元執(zhí)行運動預測以獲得關于當前預測單元的運動信息,用于確定在空間上與當前預測單元共同定位的空間預測單元的運動信息和在時間上與當前預測單元共同定位的時間預測單元的運動信息是否可用,作為所述確定的結果,當空間預測單元的運動信息和時間預測單元的運動信息的數量小于預定數量“n”(其中,n是整數)時,用于通過使用可用的空間預測單元的運動信息和時間預測單元的運動信息來產生附加候選運動信息,使得候選運動信息的總條數是“n”;運動信息編碼器,用于通過使用“n”條運動信息來對當前預測單元的運動信息進行編碼。
根據本發(fā)明的另一方面,提供一種解碼運動信息的方法,所述方法包括:確定在空間上與當前預測單元共同定位的空間預測單元的運動信息和在時間上與當前預測單元共同定位的時間預測單元的運動信息是否可用;作為所述確定的結果,當空間預測單元的運動信息和時間預測單元的運動信息的數量小于預定數量“n”(其中,n是整數)時,通過使用可用的空間預測單元的運動信息和時間預測單元的運動信息來產生附加候選運動信息,使得候選運動信息的總條數是“n”;從比特流獲得指示在“n”條候選運動信息中的單個運動信息的索引信息;并通過使用由索引指示的運動信息來獲得當前預測單元的運動信息。
根據本發(fā)明的另一方面,提供一種用于解碼運動信息的設備,所述設備包括:產生單元,用于確定在空間上與當前預測單元共同定位的空間預測單元的運動信息和在時間上與當前預測單元共同定位的時間預測單元的運動信息是否可用,并且作為所述確定的結果,當空間預測單元的運動信息和時間預測單元的運動信息的數量小于預定數量“n”(其中,n是整數)時,用于通過使用可用的空間預測單元的運動信息和時間預測單元的運動信息來產生附加候選運動信息,使得候選運動信息的總條數是“n”;熵解碼器,用于從比特流獲得指示在n條候選運動信息中的單條運動信息的索引信息;運動信息解碼器,用于通過使用由索引指示的運動信息來獲得當前預測單元的運動信息。
具體實施方式
在下文中,將參照示出本發(fā)明的示例性實施例的附圖更全面地描述本發(fā)明。
圖1是根據本發(fā)明的實施例的視頻編碼設備100的框圖。
視頻編碼設備100包括最大編碼單元劃分器110、編碼單元確定器120和輸出單元130。
最大編碼單元劃分器110可基于圖像的當前畫面的最大編碼單元來劃分當前畫面。如果當前畫面大于最大編碼單元,則當前畫面的圖像數據可被劃分成至少一個最大編碼單元。根據本發(fā)明的實施例的最大編碼單元可以是尺寸為32×32、64×64、128×128、256×256等的數據單元,其中,數據單元的形狀是寬度和高度為2的若干次方的正方形。可根據至少一個最大編碼單元將圖像數據輸出到編碼單元確定器120。
可用最大尺寸和深度來表征根據本發(fā)明的實施例的編碼單元。所述深度表示編碼單元在空間上從最大編碼單元被劃分的次數,并且隨著深度加深,可從最大編碼單元到最小編碼單元劃分根據深度的較深層編碼單元。最大編碼單元的深度是最高深度,最小編碼單元的深度是最低深度。由于與每個深度相應的編碼單元的尺寸隨著最大編碼單元的深度加深而減小,因此與更高深度相應的編碼單元可包括多個與相應的編碼單元。
如上所述,當前畫面的圖像數據根據編碼單元的最大尺寸被劃分成最大編碼單元,每個最大編碼單元可包括根據深度被劃分的較深層編碼單元。由于根據本發(fā)明的實施例的最大編碼單元根據深度被劃分,因此在最大編碼單元中包括的空間域的圖像數據可根據深度被分層地分類。
限制最大編碼單元的高度和寬度被分層地劃分的總次數的編碼單元的最大深度和最大尺寸可被預先確定。
編碼單元確定器120對通過根據深度劃分最大編碼單元的區(qū)域而獲得的至少一個劃分區(qū)域進行編碼,并根據所述至少一個劃分區(qū)域來確定深度以輸出最終編碼的圖像數據。換句話說,編碼單元確定器120通過根據當前畫面的最大編碼單元以根據深度的較深層編碼單元編碼圖像數據并選擇具有最小編碼誤差的深度來確定編碼深度。因此,最終輸出與確定的編碼深度相應的編碼單元的編碼圖像數據。此外,可將與編碼深度相應的編碼單元視為編碼的編碼單元。確定的編碼深度和根據所述確定的編碼深度的編碼的圖像數據被輸出到輸出單元130。
基于與等于或小于最大深度的至少一個深度相應的較深層編碼單元來編碼在最大編碼單元中的圖像數據,并基于每個較深層編碼單元來對編碼圖像數據的結果進行比較??稍趯λ鲚^深層編碼單元的編碼誤差進行比較之后選擇具有最小編碼誤差的深度??舍槍γ總€最大編碼單元選擇至少一個編碼深度。
最大編碼單元的尺寸隨著編碼單元根據深度被分層地劃分并且編碼單元的數量增加而被劃分。此外,即使在一個最大編碼單元中編碼單元與相同深度相應,仍可通過測量每個編碼單元的圖像數據的編碼誤差分別將與相同深度相應的每個編碼單元劃分到更低深度。因此,即使當圖像數據被包括在一個最大編碼單元中時,所述圖像數據仍根據深度被劃分成區(qū)域,在所述一個最大編碼單元中編碼誤差會根據區(qū)域而不同,從而在所述圖像數據中編碼深度可根據區(qū)域而不同。因此,可在一個最大編碼單元中確定一個或更多個編碼深度,并可根據至少一個編碼深度的編碼單元來劃分最大編碼單元的圖像數據。
因此,編碼單元確定器120可確定在最大編碼單元中包括的具有樹結構的編碼單元。根據本發(fā)明的實施例的“具有樹結構的編碼單元”包括在最大編碼單元中包括的所有較深層編碼單元中的與被確定為編碼深度的深度相應的編碼單元。可在最大編碼單元的相同區(qū)域中根據深度來分層地確定編碼深度的編碼單元,并可在不同區(qū)域中獨立地確定編碼深度的編碼單元。類似地,當前區(qū)域中的編碼深度可獨立于另一區(qū)域中的編碼深度被確定。
根據本發(fā)明的實施例的最大深度是與從最大編碼單元到最小編碼單元的劃分次數相關的索引。根據本發(fā)明的實施例的第一最大深度可表示從最大編碼單元到最小編碼單元執(zhí)行的劃分總次數。根據本發(fā)明的實施例的第二最大深度可表示從最大編碼單元到最小編碼單元的深度總級數。例如,當最大編碼單元的深度是0時,最大編碼單元被劃分一次的編碼單元的深度可設置為1,并且最大編碼單元被劃分兩次的編碼單元的深度可設置為2。這里,如果最小編碼單元是最大編碼單元被劃分四次的編碼單元,則存在5個深度級0、1、2、3和4,從而第一最大深度可設置為4,第二最大深度可設置為5。
可根據最大編碼單元來執(zhí)行預測編碼和變換。還根據最大編碼單元,基于根據等于最大深度的深度或小于最大深度的深度的較深層編碼單元來執(zhí)行預測編碼和變換??筛鶕蛔儞Q或整數變換的方法來執(zhí)行變換。
由于每當最大編碼單元根據深度被劃分時較深層編碼單元的數量都會增加,因此對隨著深度加深而產生的所有較深層編碼單元執(zhí)行包括預測編碼和變換的編碼。為了方便描述,現在將基于最大編碼單元中的當前深度的編碼單元來描述預測編碼和變換。
視頻編碼設備100可不同地選擇用于編碼圖像數據的數據單元的尺寸或形狀。為了編碼圖像數據,執(zhí)行諸如預測編碼、變換和熵編碼的操作,此時,可針對所有操作都使用相同的數據單元,或者可針對每個操作使用不同的數據單元。
例如,視頻編碼設備100不僅可選擇用于編碼圖像數據的編碼單元,而且可選擇與編碼單元不同的數據單元,以對編碼單元中的圖像數據執(zhí)行預測編碼。
為了在最大編碼單元中執(zhí)行預測編碼,可基于與編碼深度相應的編碼單元(即,基于不再被劃分成與更低深度相應的編碼單元的編碼單元)執(zhí)行預測編碼。在下文中,現在將不再被劃分并變成用于預測編碼的基本單元的編碼單元稱為“預測單元”。通過劃分預測單元而獲得的分區(qū)可包括通過劃分預測單元的高度和寬度中的至少一個而獲得的預測單元或數據單元。
例如,當2n×2n的編碼單元(其中,n是正整數)不再被劃分并變成2n×2n的預測單元時,分區(qū)的尺寸可以是2n×2n、2n×n、n×2n或n×n。分區(qū)類型的示例包括通過對稱地劃分預測單元的高度或寬度而獲得的對稱分區(qū)、通過非對稱地劃分預測單元的高度或寬度(諸如1:n或n:1)而獲得的分區(qū)、通過幾何劃分而獲得的分區(qū)以及具有任意形狀的分區(qū)。
預測單元的預測模式可以是幀內模式、幀間模式和跳過模式中的至少一種。例如,可對2n×2n、2n×n、n×2n或n×n的分區(qū)執(zhí)行幀內模式或幀間模式。此外,可僅對2n×2n的分區(qū)執(zhí)行跳過模式。可對編碼單元中的一個預測單元獨立地執(zhí)行編碼,從而選擇具有最小編碼誤差的預測模式。
視頻編碼設備100還可不僅基于用于編碼圖像數據的編碼單元而且基于與所述編碼單元不同的數據單元對在編碼單元中的圖像數據執(zhí)行變換。
為了在編碼單元中執(zhí)行變換,可基于具有小于或等于編碼單元的尺寸的數據單元來執(zhí)行變換。例如,用于變換的數據單元可包括用于幀內模式的數據單元和用于幀間模式的數據單元。
現在將用作變換的基礎的數據單元稱為“變換單元”。類似于編碼單元,可將編碼單元中的變換單元遞歸地劃分成更小尺寸的區(qū)域,使得變換單元可以以區(qū)域為單位被獨立地確定。因此,可基于變換深度根據具有樹結構的變換單元來劃分編碼單元中的殘差數據。
也可將變換深度設置在變換單元中,其中,變換深度指示通過劃分編碼單元的高度和寬度以達到變換單元而執(zhí)行劃分的次數。例如,在2n×2n的當前編碼單元中,當變換單元的尺寸是2n×2n時,變換深度可以是“0”,當變換單元的尺寸是n×n時,變換深度可以是“1”,并且當變換單元的尺寸是n/2×n/2時,變換深度可以是2。換句話說,也可根據變換深度來設置具有樹結構的變換單元。
根據與編碼深度相應的編碼單元的編碼信息不僅需要關于編碼深度的信息而且需要關于與預測編碼和變換相關的信息。因此,編碼單元確定器120不僅確定具有最小編碼誤差的編碼深度,還確定預測單元中的分區(qū)類型、根據預測單元的預測模式以及用于變換的變換單元的尺寸。
下面將參照圖3至圖12詳細描述根據本發(fā)明的實施例的在最大編碼單元中根據樹結構的編碼單元以及確定分區(qū)的方法。
編碼單元確定器120可通過使用基于拉格朗日乘子的率失真優(yōu)化來測量根據深度的較深層編碼單元的編碼誤差。
輸出單元130將基于由編碼單元確定器120確定的至少一個編碼深度而編碼的最大編碼單元的圖像數據、以及關于根據編碼深度的編碼模式的信息輸出在比特流中。
可通過編碼圖像的殘差數據來獲得編碼的圖像數據。
關于根據編碼深度的編碼模式的信息可包括關于編碼深度、關于預測單元中的分區(qū)類型、預測模式以及變換單元的尺寸的信息。
可通過使用根據深度的劃分信息來定義關于編碼深度的信息,所述劃分信息指示是否對更低的深度而不是當前深度的編碼單元執(zhí)行編碼。如果當前編碼單元的當前深度是編碼深度,則當前編碼單元中的圖像數據被編碼并輸出,從而劃分信息可被定義為不將當前編碼單元劃分到更低深度。可選地,如果當前編碼單元的當前深度不是編碼深度,則對更低深度的編碼單元執(zhí)行編碼,從而劃分信息可被定義為劃分當前編碼單元以獲得更低深度的編碼單元。
如果當前深度不是編碼深度,則對被劃分成更低深度的編碼單元的編碼單元執(zhí)行編碼。由于在當前深度的一個編碼單元中存在更低深度的至少一個編碼單元,因此對更低深度的每個編碼單元重復地執(zhí)行編碼,從而可針對具有相同深度的編碼單元遞歸地執(zhí)行編碼。
由于針對一個最大編碼單元確定具有樹結構的編碼單元,并且針對編碼深度的編碼單元確定關于至少一種編碼模式的信息,因此可針對一個最大編碼單元確定關于至少一種編碼模式的信息。此外,由于圖像數據根據深度被分層地劃分,因此最大編碼單元的圖像數據的編碼深度可根據位置而不同,從而可針對圖像數據設置關于編碼深度和編碼模式的信息。
因此,輸出單元130可將關于相應編碼深度和編碼模式的編碼信息分配給在最大編碼單元中包括的編碼單元、預測單元和最小單元中的至少一個。
根據本發(fā)明的實施例的最小單元是通過將構成最低深度的最小編碼單元劃分成4份而獲得的矩形數據單元??蛇x地,最小單元可以是可在包括于最大編碼單元中的所有的編碼單元、預測單元、分區(qū)單元和變換單元中包括的最大的矩形數據單元。
例如,可將通過輸出單元130輸出的編碼信息分類為根據編碼單元的編碼信息和根據預測單元的編碼信息。根據編碼單元的編碼信息可包括關于預測模式和關于分區(qū)的尺寸的信息。根據預測單元的編碼信息可包括關于估計的幀間模式的方向的信息、關于幀間模式的參考圖像索引的信息、關于運動矢量的信息、關于幀內模式的色度分量的信息以及關于幀內模式的插值方法的信息。此外,可將關于根據畫面、條帶或gop定義的編碼單元的最大尺寸的信息以及關于最大深度的信息插入到比特流的頭中。
在視頻編碼設備100中,較深層編碼單元可以是通過將作為上面一層的更高深度的編碼單元的高度或寬度除以2而獲得的編碼單元。換句話說,當當前深度的編碼單元的尺寸是2n×2n時,更低深度的編碼單元的尺寸是n×n。此外,尺寸為2n×2n的當前深度的編碼單元可包括最多4個更低深度的編碼單元。
因此,視頻編碼設備10可基于考慮當前畫面的特性而確定的最大編碼單元的尺寸和最大深度,通過針對每個最大編碼單元確定具有最佳形狀和最佳尺寸的編碼單元,來形成具有樹結構的編碼單元。此外,由于通過使用各種預測模式和變換中的任意一種來對每個最大編碼單元執(zhí)行編碼,因此可考慮各種圖像尺寸的編碼單元的特性來確定最佳編碼模式。
因此,如果以傳統(tǒng)宏塊來編碼具有高分辨率或大數據量的圖像,則每個畫面的宏塊數量過度增加。因此,針對每個宏塊產生的壓縮信息的條數增加,從而難以發(fā)送壓縮信息,并且數據壓縮效率降低。然而,由于在考慮圖像的尺寸時增加編碼單元的最大尺寸,同時在考慮圖像的特性時調整編碼單元,因此可通過使用視頻編碼設備100提高圖像壓縮效率。
圖2是根據本發(fā)明的實施例的視頻解碼設備200的框圖。
視頻解碼設備200包括接收器210、圖像數據和編碼信息提取器220以及圖像數據解碼器230。針對視頻解碼設備200的各種操作的各種術語(諸如編碼單元、深度、預測單元、變換單元以及關于各種編碼模式的信息)的定義與參照圖1和視頻編碼設備100描述的術語相同。
接收器210接收并解析編碼視頻的比特流。圖像數據和編碼信息提取器220針對每個編碼單元從解析的比特流提取編碼的圖像數據,并將提取的圖像數據輸出到圖像數據解碼器230,其中,編碼單元具有根據每個最大編碼單元的樹結構。圖像數據和編碼信息提取器220可從關于當前畫面的頭提取關于當前畫面的編碼單元的最大尺寸的信息。
此外,圖像數據和編碼信息提取器220從解析的比特流提取關于根據每個最大編碼單元的針對具有樹結構的編碼單元的編碼深度和編碼模式的信息。關于編碼深度和編碼模式的提取信息被輸出到圖像數據解碼器230。換句話說,將比特流中的圖像數據劃分成最大編碼單元,使得圖像數據解碼器230針對每個最大編碼單元解碼圖像數據。
可針對關于與編碼深度相應的至少一個編碼單元的信息設置關于根據最大編碼單元的編碼深度和編碼模式的信息,并且關于編碼模式的信息可包括關于與編碼深度相應的相應編碼單元的分區(qū)類型的信息、關于預測模式的信息以及變換單元的尺寸的信息。此外,根據深度的劃分信息可被提取為關于編碼深度的信息。
由圖像數據和編碼信息提取器220提取的關于根據每個最大編碼單元的編碼深度和編碼模式的信息是關于當編碼器(諸如視頻編碼設備100)根據每個最大編碼單元針對根據深度的每個較深層編碼單元重復執(zhí)行編碼時被確定為產生最小編碼誤差的編碼深度和編碼模式的信息。因此,視頻解碼設備200可通過根據產生最小編碼誤差的編碼深度和編碼模式來解碼圖像數據以恢復圖像。
由于關于編碼深度和編碼模式的編碼信息可被分配給在相應編碼單元、預測單元和最小單元中的預定數據單元,因此圖像數據和編碼信息提取器220可根據預定數據單元來提取關于編碼深度和編碼模式的信息。關于編碼深度和編碼模式的相同信息被分配的預定數據單元可被推斷為在相同的最大編碼單元中包括的數據單元。
圖像數據解碼器230通過基于關于根據最大編碼單元的編碼深度和編碼模式的信息來解碼每個最大編碼單元中的圖像數據以恢復當前畫面。換句話說,圖像數據解碼器230可基于提取的關于針對在每個最大編碼單元中包括的具有樹結構的編碼單元之中的每個編碼單元的分區(qū)類型、預測模式和變換單元的信息,來解碼編碼的圖像數據。解碼處理可包括預測和逆變換,所述預測包括幀內預測和運動補償。逆變換可根據正交逆變換或整數逆變換的方法被執(zhí)行。
圖像數據解碼器230可基于關于根據編碼深度的編碼單元的預測單元的分區(qū)類型和預測模式的信息,根據每個編碼單元的分區(qū)和預測模式來執(zhí)行幀內預測或運動補償。
此外,圖像數據解碼器230可以基于關于根據編碼深度的編碼單元的變換單元的尺寸的信息,根據編碼單元中的每個變換單元來執(zhí)行逆變換,以根據最大編碼單元執(zhí)行逆變換。
圖像數據解碼器230可根據深度通過使用劃分信息來確定當前最大編碼單元的至少一個編碼深度。如果劃分信息表示圖像數據在當前深度下不再被劃分,則當前深度是編碼深度。因此,圖像數據解碼器230可通過使用關于針對與編碼深度相應的每個編碼單元的預測單元的分區(qū)類型、預測模式和變換單元的尺寸的信息,對當前最大編碼單元中的與每個編碼深度相應的至少一個編碼單元的編碼數據進行解碼,并輸出當前最大編碼單元的圖像數據。
換句話說,通過觀察針對在編碼單元、預測單元和最小單元之中的預定數據單元而分配的編碼信息集來收集包含包括相同劃分信息的編碼信息的數據單元,收集的數據單元可被認為是將由圖像數據解碼器230以相同編碼模式解碼的一個數據單元。
視頻解碼設備200可獲得關于當針對每個最大編碼單元遞歸地執(zhí)行編碼時產生最小編碼誤差的至少一個編碼單元的信息,并可使用所述信息來對當前畫面進行解碼。換句話說,可對在每個最大編碼單元中的被確定為最佳編碼單元的具有樹結構的編碼單元進行解碼。此外,考慮到分辨率和圖像數據量來確定編碼單元的最大尺寸。
因此,即使圖像數據具有高分辨率和大數據量,仍可通過使用從編碼器接收到的關于最佳編碼模式的信息,經由使用根據圖像數據的特性被自適應地確定的編碼單元的尺寸和編碼模式來有效地解碼并恢復圖像數據。
現在將參照圖3至圖13來描述根據本發(fā)明的實施例的確定具有樹結構的編碼單元、預測單元和變換單元的方法。
圖3是用于描述根據本發(fā)明的實施例的編碼單元的概念的示圖。
可以以寬度×高度來表示編碼單元的尺寸,并且編碼單元的尺寸可以是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ū)。
在視頻數據310中,分辨率是1920×1080,編碼單元的最大尺寸是64,最大深度是2。在視頻數據320中,分辨率是1920×1080,編碼單元的最大尺寸是64,最大深度是3。在視頻數據330中,分辨率是352×288,編碼單元的最大尺寸是16,最大深度是1。圖3中所示的最大深度表示從最大編碼單元到最小編碼單元的劃分總次數。
如果分辨率高或數據量大,則編碼單元的最大尺寸可以是大的,以便不僅增加編碼效率還準確地反映圖像的特性。因此,具有比視頻數據330高的分辨率的視頻數據310和320的編碼單元的最大尺寸可以是64。
由于視頻數據310的最大深度是2,因此視頻數據310的編碼單元315可包括具有64的長軸尺寸的最大編碼單元,以及由于通過劃分兩次最大編碼單元將深度加深至二層而具有32和16的長軸尺寸的編碼單元。同時,由于視頻數據330的最大深度是1,因此視頻數據330的編碼單元335可包括具有16的長軸尺寸的最大編碼單元,以及由于通過劃分一次最大編碼單元將深度加深至一層而具有8的長軸尺寸的編碼單元。
由于視頻數據320的最大深度是3,因此視頻數據320的編碼單元325可包括具有64的長軸尺寸的最大編碼單元,以及由于通過劃分三次最大編碼單元將深度加深至3而具有32、16和8的長軸尺寸的編碼單元。隨著深度加深,可精確地表示詳細信息。
圖4是根據本發(fā)明的實施例的基于編碼單元的圖像編碼器400的框圖。
圖像編碼器400執(zhí)行視頻編碼設備100的編碼單元確定器120的操作以對圖像數據進行編碼。換句話說,幀內預測器410在當前幀405中以幀內模式對編碼單元執(zhí)行幀內預測,運動估計器420和運動補償器425通過使用當前幀405和參考幀495在當前幀405中以幀間模式對編碼單元執(zhí)行幀間估計和運動補償。
從幀內預測器410、運動估計器420和運動補償器425輸出的數據通過變換器430和量化器440被輸出為被量化的變換系數。被量化的變換系數通過反量化器460和逆變換器470被恢復為空間域中的數據,并且空間域中的恢復的數據在通過去塊單元480和環(huán)路濾波單元490被后處理之后被輸出為參考幀495。被量化的變換系數可通過熵編碼器450被輸出為比特流455。
為了使圖像編碼器400應用在視頻編碼設備100中,圖像編碼器400的所有元件(即,幀內預測器410、運動估計器420、運動補償器425、變換器430、量化器440、熵編碼器450、反量化器460、反變換器470、去塊單元480和環(huán)路濾波單元490)在考慮每個最大編碼單元的最大深度時基于在具有樹結構的編碼單元中的每個編碼單元執(zhí)行操作。
具體地,幀內預測器410、運動估計器420和運動補償器425在考慮當前最大編碼單元的最大尺寸和最大深度時確定在具有樹結構的編碼單元中的每個編碼單元的分區(qū)和預測模式,并且變換器430確定在具有樹結構的編碼單元中的每個編碼單元中的變換單元的尺寸。
圖5是根據本發(fā)明的實施例的基于編碼單元的圖像解碼器500的框圖。
解析器510從比特流505對將被解碼的編碼圖像數據和對于解碼所需的關于編碼的信息進行解析。編碼的圖像數據通過熵解碼器520和反量化器530被輸出為被反量化的數據,被反量化的數據通過逆變換器540被恢復成空間域中的圖像數據。
幀內預測器550針對空間域中的圖像數據,以幀內模式對編碼單元執(zhí)行幀內預測,運動補償器560通過使用參考幀585以幀間模式對編碼單元執(zhí)行運動補償。
經過幀內預測器550和運動補償器560的空間域中的圖像數據可在通過去塊單元570和環(huán)路濾波單元580被后處理之后被輸出為恢復幀595。此外,通過去塊單元570和環(huán)路濾波單元580被后處理的圖像數據可被輸出為參考幀585。
為了在視頻解碼設備200的圖像數據解碼器230中解碼圖像數據,圖像解碼器500可執(zhí)行在解析器510的操作被執(zhí)行之后被執(zhí)行的操作。
為了使圖像解碼器500被應用于視頻解碼設備200,圖像解碼器500的所有元件(即,解析器510、熵解碼器520、反量化器530、逆變換器540、幀內預測器550、運動補償器560、去塊單元570和環(huán)路濾波單元580)針對每個最大編碼單元基于具有樹結構的編碼單元執(zhí)行操作。
具體地,幀內預測器550和運動補償器560基于針對每個具有樹結構的編碼單元的分區(qū)和預測模式來執(zhí)行操作,逆變換器540基于針對每個編碼單元的變換單元的尺寸來執(zhí)行操作。
圖6是示出根據本發(fā)明的實施例的根據深度的較深層編碼單元和分區(qū)的示圖。
視頻編碼設備100和視頻解碼設備200使用分層編碼單元以考慮圖像的特性。編碼單元的最大高度、最大寬度和最大深度可根據圖像的特性被自適應地確定,或可被用戶不同地設置。可根據編碼單元的預定最大尺寸來確定根據深度的較深層編碼單元的尺寸。
在編碼單元的分層結構600中,根據本發(fā)明的實施例,編碼單元的最大高度和最大寬度均為64,最大深度是4。由于深度沿著分層結構600的垂直軸加深,因此較深層編碼單元的高度和寬度均被劃分。此外,沿著分層結構600的水平軸示出了作為對每個較深層編碼單元進行預測編碼的基礎的預測單元和分區(qū)。
換句話說,編碼單元610是分層結構600中的最大編碼單元,其中,深度是0,尺寸(即,高度乘以寬度)是64×64。深度沿著垂直軸加深,存在尺寸為32×32和深度為1的編碼單元620、尺寸為16×16和深度為2的編碼單元630、尺寸為8×8和深度為3的編碼單元640以及尺寸為4×4和深度為4的編碼單元650。尺寸為4×4和深度為4的編碼單元650是最小編碼單元。
編碼單元的預測單元和分區(qū)根據每個深度沿著水平軸被排列。換句話說,如果尺寸為64×64和深度為0的編碼單元610是預測單元,則可將預測單元劃分成包括在編碼單元610中的分區(qū),即,尺寸為64×64的分區(qū)610、尺寸為64×32的分區(qū)612、尺寸為32×64的分區(qū)614或尺寸為32×32的分區(qū)616。
類似地,可將尺寸為32×32和深度為1的編碼單元620的預測單元劃分成包括在編碼單元620中的分區(qū),即,尺寸為32×32的分區(qū)620、尺寸為32×16的分區(qū)622、尺寸為16×32的分區(qū)624和尺寸為16×16的分區(qū)626。
類似地,可將尺寸為16×16和深度為2的編碼單元630的預測單元劃分成包括在編碼單元630中的分區(qū),即,包括在編碼單元630中的尺寸為16×16的分區(qū)、尺寸為16×8的分區(qū)632、尺寸為8×16的分區(qū)634和尺寸為8×8的分區(qū)636。
類似地,可將尺寸為8×8和深度為3的編碼單元640的預測單元劃分成包括在編碼單元640中的分區(qū),即,包括在編碼單元640中的尺寸為8×8的分區(qū)、尺寸為8×4的分區(qū)642、尺寸為4×8的分區(qū)644和尺寸為4×4的分區(qū)646。
尺寸為4×4和深度為4的編碼單元650是最小編碼單元和最低深度的編碼單元。編碼單元650的預測單元僅被分配給尺寸為4×4的分區(qū)。
為了確定構成最大編碼單元610的編碼單元的至少一個編碼深度,視頻編碼設備100的編碼單元確定器120針對包括在最大編碼單元610中的與每個深度相應的編碼單元執(zhí)行編碼。
包括相同范圍和相同尺寸的數據的根據深度的較深層編碼單元的數量隨著深度加深而增加。例如,與深度2相應的四個編碼單元需要覆蓋包括在與深度1相應的一個編碼單元中的數據。因此,為了根據深度比較相同數據的編碼結果,與深度1相應的編碼單元和與深度2相應的編碼單元均被編碼。
為了針對深度中的當前深度執(zhí)行編碼,可沿著分層結構600的水平軸通過針對與當前深度相應的編碼單元中的每個預測單元執(zhí)行編碼來選擇對于當前深度的最小編碼誤差??蛇x地,可通過比較根據深度的最小編碼誤差并隨著深度沿分層結構600的垂直軸加深來針對每個深度執(zhí)行編碼,來搜索最小編碼誤差。可將編碼單元610中具有最小編碼誤差的深度和分區(qū)選擇為編碼單元610的編碼深度和分區(qū)類型。
圖7是根據本發(fā)明的實施例的用于描述在編碼單元710和變換單元720之間的關系的示圖。
視頻編碼設備100或視頻解碼設備200針對每個最大編碼單元根據具有小于或等于最大編碼單元的尺寸的編碼單元對圖像進行編碼或解碼??苫诓淮笥谙鄳幋a單元的數據單元來選擇在編碼期間用于變換的變換單元的尺寸。
例如,在視頻編碼設備100或200中,如果編碼單元710的尺寸是64×64,則可通過使用尺寸為32×32的變換單元720來執(zhí)行變換。
此外,可通過對小于64×64的尺寸為32×32、16×16、8×8和4×4的每個變換單元執(zhí)行變換來編碼具有64×64的尺寸的編碼單元710的數據,然后可選擇具有最小編碼誤差的變換單元。
圖8是根據本發(fā)明的實施例的用于描述與編碼深度相應的編碼單元的編碼信息的示圖。
視頻編碼設備100的輸出單元130可將針對與編碼深度相應的每個編碼單元的關于分區(qū)類型的信息800、關于預測模式的信息810以及關于變換單元的尺寸的信息820編碼為關于編碼模式的信息并進行發(fā)送。
信息800指示關于通過劃分當前編碼單元的預測單元而獲得的分區(qū)的形狀的信息,其中,所述分區(qū)是用于對當前編碼單元進行預測編碼的數據單元。例如,可將尺寸為2n×2n的當前編碼單元cu_0劃分成尺寸為2n×2n的分區(qū)802、尺寸為2n×n的分區(qū)804、尺寸為n×2n的分區(qū)806以及尺寸為n×n的分區(qū)808中的任何一種。這里,關于分區(qū)類型的信息800被設置來指示尺寸為2n×n的分區(qū)804、尺寸為n×2n的分區(qū)806以及尺寸為n×n的分區(qū)808中的一種。
信息810指示每個分區(qū)的預測模式。例如,信息810可指示對由信息800指示的分區(qū)所執(zhí)行的預測編碼的模式,即,幀內模式812、幀間模式814或跳過模式816。
信息820指示當對當前編碼單元執(zhí)行變換時所基于的變換單元的尺寸。例如,變換單元可以是第一幀內變換單元822、第二幀內變換單元824、第一幀間變換單元826或第二幀內變換單元828。
視頻解碼設備200的圖像數據和編碼信息提取器220可根據每個較深層編碼單元針對解碼提取并使用信息800、810和820。
圖9是根據本發(fā)明的實施例的根據深度的較深層編碼單元的示圖。
劃分信息可用來指示深度的改變。劃分信息指示當前深度的編碼單元是否被劃分成更低深度的編碼單元。
用于對深度為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僅示出了通過對稱地劃分預測單元910而獲得的分區(qū)類型912至918,但是分區(qū)類型不限于此,并且分區(qū)單元910的分區(qū)可包括非對稱分區(qū)、具有預定形狀的分區(qū)和具有幾何形狀的分區(qū)。
根據每種分區(qū)類型,對尺寸為2n_0×2n_0的一個分區(qū)、尺寸為2n_0×n_0的兩個分區(qū)、尺寸為n_0×2n_0的兩個分區(qū)和尺寸為n_0×n_0的四個分區(qū)重復地執(zhí)行預測編碼??蓪Τ叽鐬?n_0×2n_0、n_0×2n_0、2n_0×n_0和n_0×n_0的分區(qū)執(zhí)行在幀內模式和幀間模式下的預測編碼??蓛H對尺寸為2n_0×2n_0的分區(qū)執(zhí)行在跳過模式下的預測編碼。
如果在尺寸為2n_0×2n_0、n_0×2n_0、2n_0×n_0和n_0×n_0的分區(qū)類型912至916中的一個分區(qū)類型中編碼誤差最小,則可不將預測單元910劃分成更低深度。
如果在尺寸為n_0×n_0的分區(qū)類型918中編碼誤差最小,則深度從0改變到1以在操作920中劃分分區(qū)類型918,并對深度為2和尺寸為n_0×n_0的編碼單元930重復地執(zhí)行編碼來搜索最小編碼誤差。
用于對深度為1和尺寸為2n_1×2n_1(=n_0×n_0)的編碼單元930執(zhí)行預測編碼的預測單元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。
如果在具有n_1×n_1的尺寸的分區(qū)類型948中編碼誤差最小,則深度從1改變到2以在操作950中劃分分區(qū)類型948,并對深度為2和尺寸為n_2×n_2的編碼單元960重復執(zhí)行編碼來搜索最小編碼誤差。
當最大深度是d時,根據每個深度的劃分操作可被執(zhí)行直到深度變成d-1,并且劃分信息可被編碼直到深度是0至d-2中的一個。換句話說,當編碼被執(zhí)行直到在與d-2的深度相應的編碼單元在操作970中被劃分之后深度是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ū)類型992至998中的尺寸為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ū)類型。
即使當尺寸為n_(d-1)×n_(d-1)的分區(qū)類型998具有最小編碼誤差時,由于最大深度是d,深度為d-1的編碼單元cu_(d-1)也不再被劃分到更低深度,對于構成當前最大編碼單元900的編碼單元的編碼深度被確定為d-1,并且當前最大編碼單元900的分區(qū)類型可被確定為n_(d-1)×n(d-1)。此外,由于最大深度是d并且具有最低深度d-1的最小編碼單元980不再被劃分到更低深度,因此不設置針對最小編碼單元980的劃分信息。
數據單元999可以是用于當前最大編碼單元的“最小單元”。根據本發(fā)明的實施例的最小單元可以是通過將最小編碼單元980劃分成4份而獲得的矩形數據單元。通過重復地執(zhí)行編碼,視頻編碼設備100可通過根據編碼單元900的深度比較編碼誤差來選擇具有最小編碼誤差的深度以確定編碼深度,并將相應分區(qū)類型和預測模式設置為編碼深度的編碼模式。
因此,在所有深度1至d中比較根據深度的最小編碼誤差,可將具有最小編碼誤差的深度確定為編碼深度。編碼深度、預測單元的分區(qū)類型和預測模式可被編碼為關于編碼模式的信息并被發(fā)送。此外,由于編碼單元被從深度0劃分到編碼深度,因此僅將編碼深度的劃分信息設置成0,將排除編碼深度之外的深度的劃分信息設置到1。
視頻解碼設備200的圖像數據和編碼信息提取器220可提取并使用關于編碼單元900的編碼深度和預測單元的信息以解碼分區(qū)912。視頻解碼設備200可通過使用根據深度的劃分信息將劃分信息是0的深度確定為編碼深度,并將關于相應深度的編碼模式的信息用于解碼。
圖10至圖12是用于描述根據本發(fā)明的實施例的在編碼單元1010、預測單元1060和變換單元1070之間的關系的示圖。
編碼單元1010是在最大編碼單元中與由視頻編碼設備100確定的編碼深度相應的具有樹結構的編碼單元。預測單元1060是編碼單元1010中的每個的預測單元的分區(qū),變換單元1070是編碼單元1010中的每個的變換單元。
當在編碼單元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中的分區(qū)類型具有2n×n的尺寸,在編碼單元1016、1048和1052中的分區(qū)類型具有n×2n的尺寸,編碼單元1032的分區(qū)類型具有n×n的尺寸。編碼單元1010的預測單元和分區(qū)小于或等于每個編碼單元。
在小于編碼單元1052的數據單元中對變換單元1070中的編碼單元1052的圖像數據執(zhí)行變換或逆變換。此外,變換單元1070中的編碼單元1014、1016、1022、1032、1048、1050和1052在尺寸和形狀方面不同于預測單元1060中的編碼單元1014、1016、1022、1032、1048、1050和1052。換句話說,視頻編碼設備100和視頻解碼設備200可對相同編碼單元中的數據單元單獨地執(zhí)行幀內預測、運動估計、運動補償、變換和逆變換。
因此,在最大編碼單元的每個區(qū)域中對具有分層結構的編碼單元中的每個編碼單元遞歸地執(zhí)行編碼以確定最佳編碼單元,從而可獲得具有遞歸樹結構的編碼單元。編碼信息可包括關于編碼單元的劃分信息、關于分區(qū)類型的信息、關于預測模式的信息和關于變換單元的尺寸的信息。表1示出可由視頻編碼設備100和視頻解碼設備200設置的編碼信息。
表1
視頻編碼設備100的輸出單元130可輸出關于具有樹結構的編碼單元的編碼信息,視頻解碼設備200的圖像數據和編碼信息提取器220可從接收到的比特流提取關于具有樹結構的編碼單元的編碼信息。
劃分信息指示是否將當前編碼單元劃分成更低深度的編碼單元。如果當前深度的劃分信息是0,則當前編碼單元不再被劃分到更低深度的深度是編碼深度,從而可針對所述編碼深度來定義關于分區(qū)類型、預測模式和變換單元的尺寸的信息。如果當前編碼單元根據劃分信息被進一步劃分,則對更低深度的四個劃分編碼單元獨立地執(zhí)行編碼。
預測模式可以是幀內模式、幀間模式和跳過模式中的一種。幀內模式和幀間模式可被定義在所有分區(qū)類型中,跳過模式僅被定義在尺寸為2n×2n的分區(qū)類型中。
關于分區(qū)類型的信息可指示通過對稱地劃分預測單元的高度或寬度而獲得的尺寸為2n×2n、2n×n、n×2n和n×n的對稱分區(qū)類型,以及通過非對稱地劃分預測單元的高度或寬度而獲得的尺寸為2n×nu、2n×nd、nl×2n和nr×2n的非對稱分區(qū)類型。可通過將預測單元的高度劃分成1:3和3:1來分別獲得尺寸為2n×nu和2n×nd的非對稱分區(qū)類型,可通過將預測單元的寬度劃分成1:3和3:1來分別獲得尺寸為nl×2n和nr×2n的非對稱分區(qū)類型。
可將變換單元的尺寸設置成幀內模式下的兩種類型和幀間模式下的兩種類型。換句話說,如果變換單元的劃分信息是0,則變換單元的尺寸可以是作為當前編碼單元的尺寸的2n×2n。如果變換單元的劃分信息是1,則可通過劃分當前編碼單元來獲得變換單元。此外,如果尺寸為2n×2n的當前編碼單元的分區(qū)類型是對稱分區(qū)類型,則變換單元的尺寸可以是n×n,如果當前編碼單元的分區(qū)類型是非對稱分區(qū)類型,則變換單元的尺寸可以是n/2×n/2。
關于具有樹結構的編碼單元的編碼信息可包括與編碼深度相應的編碼單元、預測單元和最小單元中的至少一種。與編碼深度相應的編碼單元可包括包含相同編碼信息的預測單元和最小單元中的至少一種。
因此,通過比較鄰近數據單元的編碼信息來確定鄰近數據單元是否包括在與編碼深度相應的相同編碼單元中。此外,通過使用數據單元的編碼信息來確定與編碼深度相應的相應編碼單元,從而可確定最大編碼單元中的編碼深度的分布。
因此,如果當前編碼單元基于鄰近數據單元的編碼信息被預測,則可直接參考并使用在與當前編碼單元鄰近的較深層編碼單元中的數據單元的編碼信息。
可選地,如果當前編碼單元基于鄰近數據單元的編碼信息被預測,則使用所述數據單元的編碼信息來搜索與當前編碼單元鄰近的數據單元,搜索的相鄰編碼單元可被參考用于預測當前編碼單元。
圖13是用于描述根據表1的編碼模式信息的在編碼單元、預測單元或分區(qū)和變換單元之間的關系的示圖。
最大編碼單元1300包括編碼深度的編碼單元1302、1304、1306、1312、1314、1316和1318。這里,由于編碼單元1318是編碼深度的編碼單元,因此劃分信息可以被設置成0。可將關于具有2n×2n的尺寸的編碼單元1318的分區(qū)類型的信息設置成以下分區(qū)類型中的一種:尺寸為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。
當分區(qū)類型被設置成對稱(即,分區(qū)類型1322、1324、1326或1328)時,如果變換單元的劃分信息(tu尺寸標志)是0,則設置具有2n×2n的尺寸的變換單元1342,如果tu尺寸標志是1,則設置具有n×n的尺寸的變換單元1344。
當分區(qū)類型被設置成非對稱(即,分區(qū)類型1332、1334、1336或1338)時,如果tu尺寸標志是0,則設置尺寸為2n×2n的變換單元1352,如果tu尺寸標志是1,則設置尺寸為n/2×n/2的變換單元1354。
在下文中,將描述由圖4的視頻編碼設備100的運動估計器420和運動補償器425和圖5的視頻解碼設備200的運動補償器550執(zhí)行的運動預測和運動補償以及由圖4的熵編碼器450和圖5的熵解碼器520執(zhí)行的編碼和解碼運動信息的處理。如參照圖1至圖13所描述的,預測單元是用于編碼單元的預測編碼的數據單元。在下文中,預測單元指示預測單元自身或通過劃分預測單元而獲得的分區(qū)。
如上所述,通過使用各種預測模式(諸如幀內預測模式、幀間模式和跳過模式)來編碼預測單元。
在幀間預測模式中,經由單向預測或雙向預測來預測當前預測單元。詳細地,經由僅使用包括在參考畫面列表“列表0”中的參考畫面“l(fā)0畫面”和包括在參考畫面列表“列表1”中的參考畫面“l(fā)1畫面”中的一個的單向預測來預測包括在p條帶中的預測單元。使用包括在參考畫面列表“列表0”中的參考畫面“l(fā)0畫面”的預測方法被稱為“l(fā)o預測”。使用包括在參考畫面列表“列表1”中的參考畫面“l(fā)1畫面”的預測方法被稱為“l(fā)1預測”。在參考畫面列表“列表0”,參考畫面索引以從最新過去畫面到所述最新過去畫面的先前畫面的順序被分配,并然后以從最近將來畫面到在所述最近將來畫面之后的下一個畫面的順序被分配。另一方面,在參考畫面列表“列表1”中,參考畫面索引以從最近將來畫面到在所述最近將來畫面之后的下一個畫面的順序被分配,并然后以從最新過去畫面到所述最新過去畫面的先前畫面的順序被分配。
經由單向預測或使用包括在參考畫面列表“列表0”中的參考畫面“l(fā)0畫面”和包括在參考畫面列表“列表1”中的參考畫面“l(fā)1畫面”的平均值的雙向預測來預測包括在b條帶中的預測單元。由運動估計器420執(zhí)行的雙向預測模式可使用兩個參考畫面而不限制于當前畫面的先前參考畫面或下一個參考畫面,并可被稱為雙向預測模式。
將通過對根據預測模式獲得的預測值進行編碼而獲得的損耗彼此進行比較,并將具有最小損耗的預測模式確定為當前預測單元的最終預測模式。當損耗被彼此比較時,可基于率失真來確定將被應用到當前預測單元的最終預測模式。
為了使解碼端產生被執(zhí)行幀間預測的預測單元的預測值,可將關于被執(zhí)行幀間預測的每個預測單元所參考的畫面的參考畫面信息、運動矢量信息和運動信息(諸如預測方向)發(fā)送到解碼端。根據本發(fā)明的實施例,為了減少發(fā)送開銷,所述運動信息基于通過使用被先前編碼的相鄰預測單元的運動信息或通過使用在先前畫面中與當前預測單元共同定位的預測單元而被預測的運動信息被編碼,而不是在沒有變化的情況下被編碼。
根據本發(fā)明的實施例,提供用于以下處理的各種方法:另外地產生候選運動信息,使得當由編碼端和解碼端先前確定的從在空間上和時間上與當前預測單元共同定位的預測單元獲得的默認運動信息的條數小于預定數量時,運動信息的總條數等于預定數量。根據本發(fā)明的實施例,可通過編碼端和解碼端預先確定在另外地產生候選運動信息的各種方法中的相同方法。在這種情況下,可設置指示另外地產生候選運動信息的各種方法的各自預定索引。另外,指示另外地產生被用于編碼的候選運動信息的方法的索引可被添加到序列參數集(sps)、圖像參數集(pps)或條帶頭并可被發(fā)送。
在整個本說明書中,將在作為運動信息的運動矢量信息被編碼的情況下描述本發(fā)明。然而,本發(fā)明不限于此??蛇x地,可將本發(fā)明應用于運動信息(諸如參考畫面信息和預測方向信息)而不是運動矢量信息被編碼的情況。
在下文中,將對于本發(fā)明的示例性實施例來詳細地描述用于編碼預測單元的運動信息的方法和設備以及用于解碼預測單元的運動信息的方法和設備。
圖14是根據本發(fā)明的實施例的運動信息編碼設備1400的框圖。參照圖14,運動信息編碼設備1400包括候選運動信息產生單元1410和運動信息編碼器1420。圖14的運動信息編碼設備1400可被包括在圖4的圖像編碼器400中。例如,圖4的運動估計器420可執(zhí)行圖14的候選運動信息產生單元1410的功能,圖4的熵編碼器450可執(zhí)行圖14的運動信息編碼器1420的功能。本發(fā)明不限于此。圖4的圖像編碼器400的其他組件或控制器(未示出)可執(zhí)行圖14的運動信息編碼設備1400的功能。候選運動信息產生單元1410通過使用在空間上和在時間上與當前預測單元共同定位的相鄰預測單元的運動信息來獲得候選運動信息。具體地講,候選運動信息產生單元1410從在空間上與被先前設置的當前預測單元共同定位的相鄰預測單元和在時間上與被先前設置的當前預測單元共同定位的預測單元中獲得默認候選運動信息。如果默認候選運動信息的條數小于預定數量n(其中,n是整數),則候選運動信息產生單元1410通過修改或合并在空間上與當前預測單元共同定位的預測單元的運動信息和在時間上與當前預測單元共同定位的預測單元的運動信息或者添加具有預定值的運動信息,來產生“n”條候選運動信息,使得候選運動信息的總條數可以是“n”。隨后將描述產生候選運動信息的處理。
運動信息編碼器1420從“n”條候選運動信息中確定關于當前預測單元的運動信息,并將指示確定的運動信息的索引信息編碼為當前預測單元的運動信息。詳細地,運動信息編碼器1420分別將0至(n-1)運動信息索引分配給“n”條候選運動信息,并將與當前預測單元的運動信息相應的索引編碼為當前預測單元的運動信息。例如,當運動信息與預測運動矢量相應并且n=2時,也就是說,當當前預測單元的預測運動矢量候選的數量被固定為2時,如果由候選運動信息產生單元1410分別對于方向l0和方向l1產生的兩個預測運動矢量候選分別是mvlx_cand0和mvlx_cand1(x是0或1),則運動信息編碼器1420將指示mvlx_cand0的預測運動矢量索引設置為0,將指示mvlx_cand1的預測運動矢量索引設置為1,并根據當前預測單元的編碼結果將與具有最小損耗的預測運動矢量相應的索引編碼為當前預測單元的運動矢量信息。
除了預測運動矢量索引之外,運動信息編碼器1420可編碼參考畫面信息、預測方向信息和在預測運動矢量和當前預測單元的原始運動矢量之間的差值,并可將編碼的信息添加到比特流。
當編碼端在預定規(guī)則下獲得固定條數的候選運動信息并發(fā)送指示多條候選運動信息中的單條運動信息的索引信息時,解碼端可在與編碼端相同的規(guī)則下產生固定條數的候選運動信息,可通過使用發(fā)送的索引信息來確定當前預測單元的運動信息。類似于上述示例,當運動信息與預測運動矢量相應時,編碼端可從比特流獲得指示預測運動矢量的索引以及在運動矢量和預測運動矢量之間的差值,并可通過將所述差值和由預測運動矢量索引指示的預測運動矢量相加來恢復當前預測單元的運動矢量。另外,解碼端可通過使用恢復的運動矢量以及從比特流獲得的參考圖像信息和預測方向信息(方向l0和l1)來產生當前預測單元的預測值。
圖15是根據本發(fā)明的實施例的圖14的候選運動信息產生單元1410的框圖。
參照圖15,候選運動信息產生單元1410包括空間候選運動信息產生單元1510、時間候選運動信息產生單元1520、冗余去除單元1530和附加候選運動信息產生單元1540。
空間候選運動信息產生單元1510通過使用在空間上與當前預測單元共同定位的預測單元的運動信息來產生候選運動信息。詳細地,空間候選運動信息產生單元1510包括上側候選運動信息產生單元1511和左側候選運動信息產生單元1512,其中,上側候選運動信息產生單元1511以預定順序依次搜索位于當前預測單元上面的相鄰預測單元來獲得運動信息,左側候選運動信息產生單元1512以預定順序依次搜索位于當前預測單元左側的相鄰預測單元來獲得運動信息。
圖16示出根據本發(fā)明的實施例的在空間上與當前預測單元共同定位的相鄰預測單元。本發(fā)明不限于圖16中示出的情況。例如,可將不同空間位置的相鄰預測單元用作用于預測當前預測單元的運動信息的在空間上與當前預測單元共同定位的相鄰預測單元。
參照圖16,空間候選運動信息產生單元1510以預定搜索順序在位于當前預測單元1610的左側的相鄰預測單元中搜索位于當前預測單元1610的左下角的左下角相鄰預測單元a01621和位于左下角相鄰預測單元a01621上方的左下側相鄰預測單元a11622,并將在左下角相鄰預測單元a01621和左下側相鄰預測單元a11622中被首先搜索到的具有可用運動信息的第一預測單元的運動信息確定為左側候選運動信息。另外,空間候選運動信息產生單元1510在位于當前預測單元1610上方的相鄰預測單元中搜索位于當前預測單元1610的右上側的相鄰預測單元b01631、位于相鄰預測單元b01631左側的相鄰預測單元b11632以及位于當前預測單元1610左上側的相鄰預測單元b21633,并將被首先搜索到的具有可用運動信息的預測單元的運動信息確定為上側候選運動信息。同樣地,空間候選運動信息產生單元1510不搜索位于當前預測單元1610周圍的所有的預測單元,并搜索默認的相鄰預測單元(即,相鄰預測單元a0、a1、b0、b1和b2)來獲得運動信息,從而減小計算復雜度。如上所述,可改變被搜索以獲得空間候選運動信息的相鄰預測單元的數量和位置。然而,為了使解碼端恢復當前預測單元的運動信息,可預先設置在編碼端和解碼端中被搜索以獲得空間候選運動信息的相鄰預測單元的數量和位置。
如用于確定運動信息的處理的示例,將描述用于從在空間上與當前預測單元共同定位的相鄰預測單元中確定當前預測單元的運動矢量的預測運動矢量的處理。
參照圖15和圖16,左側候選運動信息產生單元1512依次檢查左下角相鄰預測單元a01621和左下側相鄰預測單元a11622的運動矢量是否可用,并將具有可用運動矢量的相鄰預測單元的運動矢量確定為左側候選運動矢量。這里,運動矢量的可用性是指相鄰預測單元是否具有指示在與當前預測單元相同的參考畫面列表中的相同參考畫面的運動矢量。例如,當當前預測單元1610的運動矢量是指示具有列表l0中的參考索引ro的參考畫面(loro畫面)的運動矢量時,如果左下角相鄰預測單元a01621是被執(zhí)行幀內預測的預測單元,或者具有指示在與當前預測單元1610不同的參考畫面列表中包括的參考畫面的運動矢量,或者具有指示在與當前預測單元1610相同的參考畫面列表中包括的不同參考畫面的運動矢量,則確定左下角相鄰預測單元a01621不具有可用的運動矢量。如果左下側相鄰預測單元a11622具有指示在與當前預測單元1610相同的參考畫面列表中的相同畫面的運動矢量,則左下側相鄰預測單元a11622的運動矢量被確定為左側候選運動矢量。
類似地,上側候選運動信息產生單元1511依次檢查相鄰預測單元b01631、相鄰預測單元b11632和相鄰預測單元b21633的運動矢量是否可用,并將指示在與當前預測單元1610相同的參考畫面列表中的相同參考畫面的相鄰預測單元的運動矢量確定為上側候選運動矢量。
當在相鄰預測單元中不存在具有可用運動矢量的相鄰預測單元時,空間候選運動信息產生單元1510可對指示與當前預測單元1610相同的參考畫面列表的不同參考畫面的相鄰預測單元的運動矢量或指示在與當前預測單元1610不同的參考畫面列表中包括的參考畫面的相鄰預測單元的運動矢量進行縮放,并可將縮放后的運動矢量用作當前預測單元1610的預測運動矢量候選。
圖17a是根據本發(fā)明的實施例的用于解釋用于確定被縮放的空間預測運動矢量候選的處理的參考示圖。
參照圖17a,當前預測單元1731的運動矢量mvl0_cur指示作為具有列表l0中的參考索引ro的參考畫面的loro畫面1720,左下角相鄰預測單元a01621具有被執(zhí)行幀內預測的預測單元,左下側相鄰預測單元a11622具有指示l1r0畫面1740(作為具有列表l1中的參考索引r0的參考畫面)的運動矢量mvl1_a1,相鄰預測單元b01631具有被執(zhí)行幀內預測的預測單元,相鄰預測單元b11632具有指示l1r1畫面1750(作為具有列表l1中的參考索引r1的參考畫面)的運動矢量mvl1_b1,并且相鄰預測單元b21633具有指示lor1畫面1710(作為具有列表l0中的參考索引r1的參考畫面)的運動矢量mvl0_b2。在圖17a中,在當前預測單元1731的相鄰預測單元中的任何預測單元都不具有與當前預測單元1731的運動矢量mvl0_cur相同的指示lor0畫面1720的運動矢量。當在相鄰預測單元中不存在具有指示與由當前預測單元1731的運動矢量指示的參考畫面相同的參考畫面的運動矢量的相鄰預測單元時,空間候選運動信息產生單元1510可基于在由被執(zhí)行幀間預測的預測單元的運動矢量所指示的參考畫面和由當前預測單元的運動矢量所指示的參考畫面之間的時間距離,對相鄰預測單元中的被執(zhí)行幀間預測的預測單元的運動矢量進行縮放,并可將縮放后的運動矢量添加到候選運動矢量。也就是說,空間候選運動信息產生單元1510可將在相鄰預測單元的運動矢量中的指示具有在與當前預測單元1731相同的參考畫面列表中的不同參考索引的參考畫面的相鄰預測單元的運動矢量添加到候選運動矢量。另外,當在相鄰預測單元的運動矢量中不存在指示具有在與當前預測單元1731相同的參考畫面列表中的不同參考索引的參考畫面的相鄰預測單元的運動矢量時,空間候選運動信息產生單元1510可將指示在與當前預測單元1731不同的參考畫面列表中的參考畫面的相鄰預測單元的運動矢量添加到候選運動矢量。
例如,除被執(zhí)行幀內預測的左下角相鄰預測單元a01621之外,空間候選運動信息產生單元1510可考慮到在當前畫面1730和由當前預測單元1731的運動矢量mvl0_cur指示的lor0畫面1720之間的時間距離以及在當前畫面1730和由左下側相鄰預測單元a11622的運動矢量mvl1_a1指示的l1r0畫面1740之間的時間距離,對左下側相鄰預測單元a11622的運動矢量mvl1_a1進行縮放,并可將縮放后的運動矢量mvl1_a1’確定為左側運動矢量候選。
另外,空間候選運動信息產生單元1510可對指示lor1畫面1710(作為具有在與當前預測單元1731的運動矢量mvl0_cur相同的參考畫面中的不同參考索引的參考畫面)的相鄰預測單元b21633的運動矢量mvl0_b2進行縮放,而不是指示l1r1畫面1750(作為在與當前預測單元1731不同的參考畫面列表中的參考畫面)的相鄰預測單元b11632的運動矢量mvl_b1,并將縮放后的運動矢量mvl0_b2’確定為上側運動矢量候選。也就是說,當空間候選運動信息產生單元1510確定需要縮放的相鄰預測單元的運動矢量時,空間候選運動信息產生單元1510可確定指示包括在與當前預測單元的運動矢量相同的參考畫面列表中的參考畫面的相鄰預測單元的運動矢量。然后,當不存在指示包括在與當前預測單元相同的參考畫面列表中的參考畫面的相鄰預測單元的運動矢量時,空間候選運動信息產生單元1510可將指示包括在與當前預測單元不同的參考畫面列表中的參考畫面的相鄰預測單元的運動矢量確定為需要縮放的運動矢量。空間候選運動信息產生單元1510可考慮到在當前畫面1730和由當前預測單元1731的運動矢量mvl0_cur指示的l0r0畫面1720之間的時間距離以及在當前畫面1730和由相鄰預測單元b21633的運動矢量mvl0_b2指示的l0r1畫面1710之間的時間距離,對相鄰預測單元b2的運動矢量mvl0_b2進行縮放,并可將縮放后的運動矢量mvl0_b2’確定為上側運動矢量候選。
圖18是根據本發(fā)明的實施例的用于解釋通過對相鄰預測單元的運動矢量進行縮放來產生當前預測單元的預測運動矢量候選的方法的參考示圖。
如上所述,當在當前預測單元的相鄰預測單元中不存在與當前預測單元相同的運動矢量(即,指示具有在與當前預測單元相同的參考畫面列表中包括的相同參考索引的參考畫面的運動矢量)時,可對參考在與當前預測單元相同的參考畫面列表中的不同參考畫面的相鄰預測單元的(圖18的預測單元bn)運動矢量mv(bn)或者參考在與當前預測單元不同的參考畫面列表中包括的參考畫面的相鄰預測單元(圖18的預測單元an)的運動矢量mv(an)進行縮放,并可將縮放后的運動矢量添加到當前預測單元的預測運動矢量候選。詳細地,當在當前畫面和由當前預測單元的運動矢量mvl0_cur指示的參考畫面(lor0畫面)之間的空間距離d(cur)是d(cur)并且在當前畫面和由預測單元bn的運動矢量mv(bn)指示的參考畫面(lor1畫面)之間的時間距離是d(bn)時,可根據等式mv(bn)’=mv(bn)*{d(cur)/d(bn)}來對預測單元bn的運動矢量mv(bn)進行縮放,并可將縮放后的運動矢量mv(bn)’添加到當前預測單元的預測運動矢量候選。類似地,當在當前畫面和由預測單元an的運動矢量mv(an)指示的參考畫面(l1r1畫面)之間的時間距離是d(an)時,可根據等式mv(an)’=mv(an)*{d(cur)/d(an)}來對預測單元an的運動矢量mv(an)進行縮放,并可將縮放后的運動矢量mv(an)’添加到當前預測單元的預測運動矢量候選。
考慮到預定條件,可確定縮放后的運動矢量是否包括在空間運動矢量候選中。例如,僅當幀內預測針對與當前預測單元的左側相鄰的相鄰預測單元a0和a1中的一個被執(zhí)行時,空間候選運動信息產生單元1510可對在相鄰預測單元b0、b1和b2中的被執(zhí)行幀間預測的預測單元的運動矢量進行縮放,并可將縮放后的運動矢量添加到上側運動矢量候選。換句話說,可根據預定條件是否被滿足,選擇性地執(zhí)行是否將縮放后的運動矢量添加到空間預測運動矢量候選。所述預定條件可按各種方式被設計并且不限于以上描述的示例。
在以上描述的示例中,當空間候選運動信息產生單元1510搜索在空間上與當前預測單元共同定位的上側預測單元和左側預測單元時,空間候選運動信息產生單元1510按a0->a1的順序來搜索左側相鄰預測單元,或者按b0->b1->b2的順序來搜索上側相鄰預測單元。然而,本發(fā)明不限于此掃描順序??蛇x地,空間候選運動信息產生單元1510可以以例如a1->b1->b0->a0->b2的順序而不是諸如上側或左側的基準來確定相鄰預測單元,并確定是否將每個相鄰預測單元的運動信息用作當前預測單元的運動信息。
另外,當空間候選運動信息產生單元1510產生空間候選運動信息時,空間候選運動信息產生單元1510可在無需代替以預定掃描順序搜索相鄰預測單元的任何掃描順序的情況下,檢查位于當前預測單元上方和當前預測單元左側的所有預測單元(例如,所有相鄰預測單元a0、a1、b0、b1和b2)的運動信息是否可用,然后可將在相鄰預測單元a0、a1、b0、b1和b2的運動信息中的所有可用運動信息條添加到空間運動信息候選。
參照圖15,時間候選運動信息產生單元1520通過使用在時間上與當前預測單元共同定位的運動單元的運動信息(即,在被先前編碼的先前畫面的預測單元中的基于當前預測單元的位置被共同定位的運動單元的運動信息)來產生時間候選運動信息。
圖19是根據本發(fā)明的實施例的用于解釋產生時間候選運動信息的處理的參考示圖。
參照圖15和圖19,時間候選運動信息產生單元1520可通過使用在對當前畫面1910先前編碼的參考畫面1920的預測單元中的位于參考畫面1920的預測單元1921(具有與當前預測單元1911相同的位置)右下側的預測單元1924的運動信息,來產生時間候選運動信息。例如,當運動信息是預測運動矢量時,時間候選運動信息產生單元1520可通過對預測單元1924的運動矢量進行縮放來產生時間運動矢量候選。如參考圖18所描述的,可基于在lor0畫面1920和參考畫面l1r01930之間的時間距離以及在當前畫面1910和參考畫面l1r01930之間的時間距離來執(zhí)行時間預測運動矢量的縮放。
如果位于預測單元1921右下側的預測單元1924被幀內預測,使得預測單元1924的運動矢量不可用,則時間候選運動信息產生單元1520可對包含與當前預測單元1911的中心點的點c1912相同位置的參考畫面1920的點c’1922的預測單元1921的運動矢量進行縮放,并可產生時間預測運動矢量。也就是說,時間候選運動信息產生單元1520可首先檢查在先前畫面的預測單元中的位于具有與當前預測單元相同的位置的預測單元的右下側的預測單元的運動信息是否可用,并可繼而確定包含具有與當前預測單元的中心點相同的位置的點的預測單元的運動信息是否可用,然后可將可用的預測單元的運動信息添加到時間候選運動信息。被搜索以產生時間候選運動信息的先前畫面的預測單元的數量和位置可不限于圖19中示出的情況,并可以以各種方式被改變。另外,當時間候選運動信息產生單元1520產生時間候選運動信息時,時間候選運動信息產生單元1520可不以預定順序檢查先前畫面的預測單元的運動信息是否可用,可檢查位于具有與當前預測單元相同的位置的預測單元的左下側的預測單元的運動信息是否可用以及包含具有與當前預測單元的中心點相同的位置的點的預測單元的運動信息是否可用這兩者,然后可將先前畫面的預測單元的所有可用運動信息條添加到時間候選運動信息。
參照圖15,冗余去除單元1530可確定空間候選運動信息和時間候選運動信息是否彼此相同,并可從候選運動信息中去除冗余運動信息。為了減小計算復雜度,可省略冗余去除單元1530。也就是說,可跳過檢查冗余的處理。
由空間候選運動信息產生單元1510和時間候選運動信息產生單元1520產生的候選運動信息的條數可小于預定數量“n”。在以上描述的示例中,當幀內預測針對位于當前預測單元上方或當前預測單元左側的所有相鄰預測單元被執(zhí)行時,或者當幀內預測針對位于由時間候選運動信息產生單元1520搜索的先前畫面的預定位置中的預測單元被執(zhí)行時,產生的候選運動信息的條數可小于“n”。
當由空間候選運動信息產生單元1510和時間候選運動信息產生單元1520所產生的產生的候選運動信息的條數小于預定數量“n”時,附加候選運動信息產生單元1540可通過使用空間預測單元的運動信息和時間預測單元的可用運動信息來產生附加候選運動信息,使得候選運動信息的總條數可以是“n”。
在下文中,將描述經由附加候選運動信息產生單元1540產生附加候選運動信息的各種方法。
當空間候選運動信息產生單元1510依次檢查當前預測單元的相鄰預測單元是否可用時,附加候選運動信息產生單元1540可通過使用在被首先檢查到的可用相鄰預測單元之后被檢查的預測單元的運動信息來產生附加候選運動信息。
圖17b是根據本發(fā)明的實施例的用于解釋用于通過使用在空間上與當前預測單元共同定位的預測單元來產生附加候選運動信息的處理的參考示圖。
參照圖17b,附加候選運動信息產生單元1540可從相鄰預測單元a0、a1、b0、b1和b2將具有可用運動信息但由于在以掃描順序被先前掃描的另一預測單元之后被檢查而未被包括在候選運動信息中的預測單元的運動信息產生為附加候選運動信息。
例如,假設由空間候選運動信息產生單元1510產生的左側候選運動信息是“l(fā)eft”,由空間候選運動信息產生單元1510產生的上側候選運動信息是“above”,由時間候選運動信息產生單元1520產生的時間候選運動信息是“temporal”。附加候選運動信息產生單元1540確定候選運動信息(即,left、above和temporal)是否可用(即,候選運動信息是否存在),并確定候選運動信息的條數是否為預定數量3(與n=3相應)。另外,當候選運動信息的條數小于預定數量時,附加候選運動信息產生單元1540可通過使用在被先前檢查的可用相鄰預測單元之后被檢查的預測單元的運動信息來產生附加候選運動信息。
如上所述,當空間候選運動信息產生單元1510產生空間候選運動信息時,空間候選運動信息產生單元1510可在無需任何掃描順序的情況下檢查位于當前預測單元上方和左側的所有預測單元(例如,所有相鄰預測單元a0、a1、b0、b1和b2)的運動信息是否可用,然后可將在相鄰預測單元a0、a1、b0、b1和b2的運動信息中的所有可用運動信息條添加到空間運動信息候選。在這種情況下,當候選運動信息的條數小于預定數量(例如,5)時,附加候選運動信息產生單元1540可通過使用可用預測單元的運動信息來產生附加候選運動信息。
假設左側候選運動信息不存在,并且相鄰預測單元b0、b1和b2的運動信息可用。如圖17b中所示,將以掃描順序被先前檢查的相鄰預測單元b0的運動信息選擇為上側候選運動信息,相鄰預測單元b1和b2的運動信息不包括在默認運動信息中。當候選運動信息的總條數由于相鄰預測單元a0和a1不具有可用運動信息而小于預定數量時,附加候選運動信息產生單元1540可將相鄰預測單元b1或b2的運動信息添加到附加候選運動信息。
類似地,當上側候選運動信息不存在,并且左側相鄰預測單元a0和a1的運動信息可用時,將被先前檢查的相鄰預測單元a0的運動信息選擇為左側運動信息,并且在相鄰預測單元a0之后被檢查的相鄰預測單元a1的運動信息不包括在默認運動信息中。然而,當候選運動信息的條數由于相鄰預測單元b0、b1和b2不具有可用運動信息而小于預定數量時,可將相鄰預測單元a1的運動信息包括在附加候選運動信息中。
根據本發(fā)明的另一實施例,當時間候選運動信息產生單元1520依次檢查在時間上與當前預測單元共同定位的先前畫面的預測單元是否可用時,附加候選運動信息產生單元1540可對在具有可用運動信息的除了第一先前畫面之外的其余先前畫面的預測單元中的具有運動信息的先前畫面的預測單元的運動信息進行縮放,并可將縮放后的運動信息添加到附加候選運動信息。
再次參照圖19,時間候選運動信息產生單元1520檢查在被先前編碼的參考畫面1920的預測單元中的位于具有與當前預測單元1911相應的位置的參考畫面1920的預測單元1921右下側的預測單元1924的運動信息對當前畫面1910是否可用,然后確定包含與當前預測單元1911的中心點的點c1912相同的位置的參考畫面1920的點c’1922的預測單元1921的運動信息是否可用。如果位于預測單元1921右下側的預測單元1924具有可用運動信息,則位于預測單元1921右下側的預測單元1924的運動信息被包括在默認候選運動信息中,并且包含與點c1912相同的位置的參考畫面1920的點c’1922的預測單元1921的運動信息不被包括在默認候選運動信息中。當候選運動信息的總條數小于預定數量時,附加候選運動信息產生單元1540可將包含與點c1912相同的位置的參考畫面1920的點c’1922的預測單元1921的運動信息添加到附加候選運動信息。也就是說,附加候選運動信息產生單元1540可將在先前畫面的預測單元中的不被包括在默認候選運動信息中的預測單元的運動信息添加到附加候選運動信息。
根據本發(fā)明的另一實施例,附加候選運動信息產生單元1540可將具有預定值的運動信息添加到附加候選運動信息。例如,當運動信息是預測運動矢量時,如果候選運動信息的條數小于預定數量,則附加候選運動信息產生單元1540可將具有預定分量值的運動矢量(諸如(0,0)、(0,1)或(1,0))添加到候選運動矢量。
根據本發(fā)明的另一實施例,當空間預測單元和時間預測單元的可用運動信息包含方向l0和l1的預測的雙向運動矢量信息時,附加候選運動信息產生單元1540可將預定偏移量(offset)加到方向l0的預測的運動矢量和方向l1的預測的運動矢量上或者從方向l0的預測的運動矢量和方向l1的預測的運動矢量減去預定偏移量,來產生附加候選運動信息。
圖20a和圖20b是根據本發(fā)明的另一實施例的用于通過使用可用預測單元的運動信息來產生附加候選運動信息的處理的示圖。圖21a和圖21b是根據本發(fā)明的實施例的用于描述當產生圖20a和圖20b的附加候選運動信息時在當前畫面和參考畫面之間的位置關系的示圖。
參照圖20a和圖21a,當在位于當前預測單元上方的預測單元中的相鄰預測單元b1具有指示作為方向l0的預測的參考圖像的loro畫面2110的運動矢量mvl0_b1和指示作為方向l1的預測的參考畫面的l1r0畫面2120的運動矢量mvl1_b1,并且當前畫面2100位于l0r0畫面2110和l1r0畫面2120之間時,附加候選運動信息產生單元1540可將具有相同絕對值和不同符號的預定偏移量加到方向l0的預測的運動矢量mvl0_b1和方向l1的預測的運動矢量mvl1_b1上來產生新的運動矢量,并可將所述新的運動矢量添加到附加候選運動信息。也就是說,如圖20a中所示,附加候選運動信息產生單元1540可將預定偏移量mv_offset加到方向l0的預測的運動矢量mvl0_b1上,使得產生的運動矢量mvl0’可被包括在方向l0的預測的附加候選運動矢量中,并可從方向l1的預測的運動矢量mvl1_b1減去偏移量mv_offset,使得產生的運動矢量mvl1’可被包括在方向l1的預測的附加候選運動矢量中。
當被包括在從可用相鄰預測單元獲得的雙向運動信息中的方向l0的運動矢量list0mv具有值(mx0,my0)并且方向l1的運動矢量list1mv具有值(mx1,my1)時,如果當前畫面位于方向l1的預測的參考畫面和方向l0的預測的參考畫面之間,則附加候選運動信息產生單元1540可將預定偏移量(offset)加到方向l0的預測的運動矢量和方向l1的預測的運動矢量上并從方向l0的預測的運動矢量和方向l1的預測的運動矢量減去預定偏移量來產生附加候選運動信息,如下所示。
list0mv=(mx0+offset,my0),list1mv=(mx0-offset,my0);
list0mv=(mx0-offset,my0),list1mv=(mx0+offset,my0);
list0mv=(mx0,my0+offset),list1mv=(mx0,my0-offset);
list0mv=(mx0,my0-offset),list1mv=(mx0,my0+offset);
list0mv=(mx0+offset,my0+offset),
list1mv=(mx0-offset,my0-offset);
list0mv=(mx0+offset,my0-offset),
list1mv=(mx0-offset,my0+offset);
list0mv=(mx0-offset,my0+offset),
list1mv=(mx0+offset,my0-offset);和
list0mv=(mx0-offset,my0-offset),
list1mv=(mx0+offset,my0+offset)。
參照圖20b和圖21b,當在位于當前預測單元上方的預測單元中的相鄰預測單元b1具有指示作為方向l0的參考畫面的l1r0畫面2140的運動矢量mvl1r0_b1以及指示作為方向l1的參考畫面的l1r1畫面2150的運動矢量mvl1r1_b1時,如果l1r0畫面2140和l1r1畫面2150對于當前畫面2130位于相同位置,則附加候選運動信息產生單元1540可將預定偏移量加到方向l0的預測的運動矢量mvl1r0_b1和方向l1的預測的運動矢量mvl1r1_b1上或從方向l0的預測的運動矢量mvl1r0_b1和方向l1的預測的運動矢量mvl1r1_b1減去預定偏移量來產生新的運動矢量,并可將產生的所述新的運動矢量添加到附加候選運動信息。也就是說,如圖20b所示,附加候選運動信息產生單元1540可將通過將偏移量mv_offset加到方向l0的預測的運動矢量mvl1r0_b1上所產生的運動矢量mvl0’添加到方向l0的預測的附加候選運動矢量,并可將通過將偏移量mv_offset加到方向l1的預測的運動矢量mvl1r1_b1上所產生的運動矢量mvl1’添加到方向l1的附加候選運動矢量。
當從可用相鄰預測單元獲得的方向l0的運動矢量list0mv具有值(mx0,my0),方向l1的運動矢量list1mv具有值(mx1,my1),并且方向l1的參考畫面和方向l0的參考畫面對于當前畫面位于相應位置時,附加候選運動信息產生單元1540可將預定偏移量加到方向l0的預測的運動矢量和方向l1的預測的運動矢量上或從方向l0的預測的運動矢量和方向l1的預測的運動矢量減去預定偏移量來產生附加候選運動信息,如下所示。
list0mv=(mx0+offset,my0),list1mv=(mx0+offset,my0);
list0mv=(mx0-offset,my0),list1mv=(mx0-offset,my0);
list0mv=(mx0,my0+offset),list1mv=(mx0,my0+offset);
list0mv=(mx0,my0-offset),list1mv=(mx0,my0-offset);
list0mv=(mx0+offset,my0+offset),
list1mv=(mx0+offset,my0+offset);
list0mv=(mx0+offset,my0-offset),
list1mv=(mx0+offset,my0-offset);
list0mv=(mx0-offset,my0+offset),
list1mv=(mx0-offset,my0+offset);和
list0mv=(mx0-offset,my0-offset),
list1mv=(mx0-offset,my0-offset)。
根據本發(fā)明的另一實施例,附加候選運動信息產生單元1540可改變空間預測單元和時間預測單元的可用運動信息來產生附加候選運動信息。當空間預測單元和時間預測單元的可用運動信息包括方向l0和l1的雙向運動矢量信息時,附加候選運動信息產生單元1540可將通過拆分方向l0和l1的預測所產生的雙向信息添加到附加候選運動信息。例如,假設從可用空間預測單元和時間預測單元獲得的雙向運動信息包括方向l0的運動信息和方向l1的運動信息,其中,方向l0的運動信息包括方向l0的運動矢量list0mv和指示方向l0的參考畫面的參考畫面索引list0ref,方向l1的運動信息包括方向l1的運動矢量list1mv和指示方向l1的參考畫面的參考畫面索引list1ref。附加候選運動信息產生單元1540可劃分雙向運動信息來產生兩條單向運動信息,并將所述兩條單向運動信息添加到附加候選運動信息。也就是說,附加候選運動信息產生單元1540可將雙向運動信息劃分成方向l0的單向運動信息和方向l1的單向運動信息,并可將單向運動信息添加到附加候選運動信息,其中,方向l0的單向運動信息包括{方向l0的運動矢量list0mv和指示方向l0的參考畫面的參考畫面索引list0ref},方向l1的單向運動信息包括{方向l1的運動矢量list1mv和指示方向l1的參考畫面的參考畫面索引list1ref}。
另外,當空間預測單元和時間預測單元的可用運動信息包括方向l0的運動信息和方向l1的運動信息的單向運動信息時,附加候選運動信息產生單元1540可將通過合并方向l0和l1的單向運動信息所產生的雙向運動信息添加到附加候選運動信息。例如,當包括{方向l0的運動矢量list0mv和指示方向l0的參考畫面的參考畫面索引list0ref}的方向l0的單向運動信息和包括{方向l1的運動矢量list1mv和指示方向l1的參考畫面的參考畫面索引list1ref}的方向l1的單向運動信息作為從在空間上和在時間上與當前預測單元共同定位的預測單元所獲得的運動信息而存在時,合并方向l0的單向運動信息和方向l1的單向運動信息以產生雙向運動信息,并將產生的雙向運動信息添加到附加候選運動信息。
另外,附加候選運動信息產生單元1540可將具有預定值和參考索引的運動矢量添加到方向l0的單向運動信息和方向l1的單向運動信息中的任何一個,來產生不同方向的單向運動信息,使得獲得的雙向運動信息被添加到附加候選運動信息。例如,當只有包括{方向l0的運動矢量list0mv和指示方向l0的參考畫面的參考畫面索引list0ref}的方向l0的單向運動信息作為從在空間上和在時間上與當前預測單元共同定位的預測單元所獲得的運動信息而存在時,附加候選運動信息產生單元1540可將具有預定值(諸如(0,0))的運動矢量設置為方向l1的運動矢量list1mv并可將指示方向l1的參考畫面的參考畫面索引list1ref設置為預定值0,來產生方向l1的運動信息,并可合并所產生的方向l1的運動信息和存在的方向l0的運動信息,使得產生的雙向運動信息被包括在附加候選運動信息中。
附加候選運動信息產生單元1540可僅通過使用可用預測單元從可用預測單元的運動信息中產生運動矢量信息,并可單獨地設置其余的參考方向(預測方向)信息或參考畫面索引。在這種情況下,當附加候選運動信息產生單元1540通過使用可用預測單元的運動信息來產生附加候選運動信息時,附加候選運動信息產生單元1540可根據當前預測單元的條帶類型產生參考方向信息。例如,當當前預測單元被包括在p條帶中時,將包括在附加候選運動信息中的參考方向設置為方向l0。當當前預測單元被包括在b條帶中時,可將參考方向設置為包括方向l0和l1的預測的雙向。另外,附加候選運動信息產生單元1540可將參考畫面索引設置在(0~可用預測單元的參考畫面索引)中的范圍內,并可將多個參考畫面索引添加到附加候選運動信息。
當附加候選運動信息產生單元1540產生參考畫面索引時,附加候選運動信息產生單元1540可使用指示具有在包括在可用空間預測單元和時間預測單元的運動信息中的參考畫面中的最高頻率的參考畫面的參考畫面索引,或者可使用指示由當前預測單元的最鄰近的預測單元所參考的參考畫面的參考畫面索引,而不是如上所述的設置具有預定值的參考畫面索引。
另外,當由空間候選運動信息產生單元1510和時間候選運動信息產生單元1520所產生的默認候選運動信息的條數小于預定數量“n”時,附加候選運動信息產生單元1540可省略用于檢查包括在候選運動信息中的附加候選運動信息是否重復的處理,使得候選運動信息的總條數可以是“n”。也就是說,即使附加候選運動信息與默認運動信息相同,附加候選運動信息產生單元1540仍可將通過改變默認運動信息而產生的附加候選運動信息添加到候選運動信息。
圖22是根據本發(fā)明的實施例的編碼運動矢量的方法的流程圖。
參照圖22,在操作2310,運動估計器420對當前預測單元執(zhí)行運動預測以獲得關于當前預測單元的運動信息。
在操作2320,候選運動信息產生單元1410確定在空間上與當前預測單元共同定位的空間預測單元的運動信息和在時間上與當前預測單元共同定位的時間預測單元的運動信息是否可用。如上所述,候選運動信息產生單元1410檢查位于當前預測單元左側的相鄰預測單元a0和a1的運動信息和位于當前預測單元上方的相鄰預測單元b0、b1和b2的運動信息是否可用,并可將可用相鄰預測單元的運動信息添加到默認候選運動信息。另外,候選運動信息產生單元1410檢查在先前畫面的預測單元中的預定位置的預測單元的運動信息是否可用,并可將先前畫面的運動信息添加到默認候選運動信息。
在操作2330,當空間預測單元和時間預測單元的運動信息條數小于預定數量“n”時,候選運動信息產生單元1410可通過使用可用空間預測單元和時間預測單元的運動信息來產生附加候選運動信息,使得候選運動信息的總條數可以是“n”。
在操作2340,運動信息編碼器1420通過使用n條運動信息來編碼當前預測單元的運動信息。詳細地,運動信息編碼器1420在產生的候選運動信息中確定與當前預測單元的運動信息最相似的運動信息,并發(fā)送指示確定的運動信息的索引信息。例如,當運動信息是運動矢量時,候選運動信息產生單元1410產生當前預測單元的預測運動矢量候選,并且運動信息編碼器1420可編碼關于指示在預測運動矢量候選中與當前預測單元的運動矢量最相似的預測運動矢量的索引值的信息,以及關于在當前預測單元的運動矢量和預測運動矢量之間的差值的信息。
圖23是根據本發(fā)明的實施例的運動矢量解碼設備2400的框圖。
參照圖23,運動矢量解碼設備2400包括熵解碼器2410、運動信息解碼器2420和候選運動信息產生單元2430。
熵解碼器2400從比特流提取在候選運動信息中的在當前預測單元中使用的運動信息。例如,當運動信息是運動矢量時,熵解碼器2410提取指示關于預測運動矢量索引的運動信息的索引、預測運動矢量和原始運動矢量之間的差值、參考畫面信息和預測方向信息。
與圖14中所示的候選運動信息產生單元1410相同,候選運動信息產生單元2430通過使用在時間上和在空間上與當前預測單元共同定位的相鄰預測單元的運動信息來獲得候選運動信息,并通過使用在空間上和在時間上與當前預測單元共同定位的預測單元的運動信息來產生附加候選運動信息,使得候選運動信息的條數是“n”。
運動信息解碼器2420通過使用從比特流中獲得的指示當前預測單元的運動信息的索引來獲得由候選運動信息產生單元2430產生的單條候選運動信息。如上所述,當運動信息是運動矢量時,運動信息解碼器2420通過使用從比特流中獲得的指示預測運動矢量的索引來獲得在預測運動矢量候選中的單個預測運動矢量,從比特流提取關于在預測運動矢量和原始運動矢量之間的差值的信息,然后將所述差值和所述預測運動矢量相加來恢復當前預測單元的運動矢量。
圖24是根據本發(fā)明的實施例的解碼運動信息的方法的流程圖。
參照圖24,在操作2510,候選運動信息產生單元2430確定在空間上與當前預測單元共同定位的空間預測單元的運動信息和在時間上與當前預測單元共同定位的時間預測單元的運動信息是否可用。在操作2520,作為確定結果,當空間預測單元和時間預測單元的可用運動信息的條數小于預定數量“n”(其中,n是整數)時,候選運動信息產生單元2430通過使用空間預測單元和時間預測單元的可用運動信息來產生附加候選運動信息,使得候選運動信息的總條數可以是“n”。
在操作2530,熵解碼器2410從比特流中獲得并輸出指示“n”條候選運動信息中的運動信息的索引信息。在操作2540,運動信息解碼器2420通過使用由索引指示的運動信息來獲得當前預測單元的運動信息。如上所述,當運動信息是運動矢量時,運動信息解碼器2420通過使用從比特流中獲得的指示預測運動矢量的索引來獲得在預測運動矢量候選中的單條預測運動信息,從比特流提取關于在預測運動矢量和原始運動矢量之間的差值的信息,然后將所述差值和所述預測運動矢量相加來恢復當前預測單元的運動矢量。
本發(fā)明的實施例可被編寫為計算機程序,并可被實現在使用計算機可讀記錄介質執(zhí)行程序的通用數字計算機中。計算機可讀記錄介質的示例包括磁存儲介質(例如,rom、軟盤、硬盤等)和光存儲介質(例如,cd-rom或dvd)。
雖然已參照本發(fā)明的示例性實施例具體地示出并描述了本發(fā)明,但是將由本領域的技術人員理解的是,在不脫離由權利要求限定的本發(fā)明的精神和范圍的情況下,可在形式和細節(jié)上做出各種改變。