專利名稱:運動矢量檢測設(shè)備、檢測方法、圖像編碼設(shè)備和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及能夠減少伴隨運動矢量的檢測的運算量的運動矢量檢測設(shè)備、運動矢量檢測方法、圖像編碼設(shè)備和程序。
背景技術(shù):
過去開發(fā)了在傳輸和存儲與廣播站相關(guān)聯(lián)的運動圖像中、有效地使用圖像數(shù)據(jù)的冗余(redundancy)來有效地傳輸和存儲圖像數(shù)據(jù)的技術(shù)。在這種技術(shù)中,基于如MPEG(運動圖像專家組)的標(biāo)準(zhǔn),通過如離散余弦變換的正交變換和運動補償壓縮圖像數(shù)據(jù)。
作為其示例的MPEG2(ISO/IEC 13818-2)是定義為通用圖像編碼標(biāo)準(zhǔn)的標(biāo)準(zhǔn)。其定義來處理隔行掃描和逐行掃描,并且處理標(biāo)準(zhǔn)分辨率圖像和高精度圖像。MPEG2由用于專業(yè)人員和消費者的廣泛應(yīng)用所廣泛采用。根據(jù)MPEG2,可以確保高質(zhì)量的高壓縮率。
然而,MPEG2是適用于廣播的高質(zhì)量編碼標(biāo)準(zhǔn),并且不處理具有小于MPEG1的編碼量的編碼量的高壓縮率編碼。因此,考慮到對具有小于MPEG1的編碼量的編碼量的高壓縮率編碼的需要,基于MPEG4(ISO/IEC 14496-2)標(biāo)準(zhǔn)化編碼方案。
設(shè)計來編碼用于TV會議的圖像的H26L(ITU-T Q6/16VCEG)已經(jīng)標(biāo)準(zhǔn)化,并且已經(jīng)將采用基于H26L的各種功能以確保更高的編碼效率的編碼方案標(biāo)準(zhǔn)化為通過MPEG4的動作的增強壓縮視頻編碼的聯(lián)合模型,其建立為H.264和MPEG4部分10(AVC先進(jìn)視頻編碼)。
在基于H.264/AVC的圖像編碼方案中已經(jīng)采用將圖像幀分為多個塊并且從編碼幀預(yù)測運動的運動補償。
作為這種類型的技術(shù),例如,在JP-A-2004-241957中,在檢測運動矢量中從現(xiàn)有幀的運動補償塊中的像素數(shù)據(jù)和參考幀的運動補償塊中的像素數(shù)據(jù)之間的差別計算簡單SATD(絕對轉(zhuǎn)換差的和),并且運動預(yù)測和補償電路指定具有使用該簡單SATD定義的最小估計值的運動矢量。
發(fā)明內(nèi)容
然而,如上所述,在運動檢測中具有比SAD(絕對差的和)更高精度的SATD更頻繁地用于具有1/2像素精度和1/4像素精度的運動檢測。在SATD中,使用Hadamard變換,因此與SAD相比運算量增加。因此,存在對于具有1/2像素精度和1/4像素精度的運動檢測需要大的運算量的問題。
因此,存在減少伴隨運動矢量檢測的運算量的需要。
根據(jù)本發(fā)明的實施例,提供了一種運動矢量檢測設(shè)備,包括運動預(yù)測和補償電路,其在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
因此,通過所述運動預(yù)測和補償電路計算具有第二像素精度的最佳運動矢量的成本值。
根據(jù)本發(fā)明的另一實施例,提供了一種圖像編碼設(shè)備,包括編碼裝置,配置為通過指示編碼效率的成本函數(shù)的成本值的比較,在每一預(yù)定塊從多個第一預(yù)測模式和多個第二預(yù)測模式檢測要提供給編碼處理的最佳模式,并且以所述最佳模式編碼圖像數(shù)據(jù);以及運動預(yù)測和補償裝置,配置為在每一第一預(yù)測模式計算具有第一像素精度的多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
因此,通過所述運動預(yù)測和補償電路計算具有第二像素精度的最佳運動矢量的成本值。
根據(jù)本發(fā)明的另一實施例,提供了一種運動矢量檢測設(shè)備,包括運動預(yù)測和補償電路,其在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面或取決于具有第一像素精度的成本值的分布的成本值的梯度,計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
因此,通過使用具有第一像素精度的成本值的截面或成本值的梯度,通過所述運動預(yù)測和補償電路計算具有第二像素精度的最佳運動矢量的成本值。
根據(jù)本發(fā)明的另一實施例,提供了一種運動矢量檢測方法,包括以下步驟在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選;并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
因此,通過使用具有第一像素精度的成本值的截面,通過所述運動預(yù)測和補償電路計算具有第二像素精度的最佳運動矢量的成本值。
根據(jù)本發(fā)明的另一實施例,提供了一種程序,其指令計算機執(zhí)行以下步驟在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選;并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
因此,通過使用具有第一像素精度的成本值的截面,通過所述運動預(yù)測和補償電路計算具有第二像素精度的最佳運動矢量的成本值。
根據(jù)本發(fā)明的上述配置,可能提供能夠減少伴隨運動矢量的檢測的運算量的運動矢量檢測設(shè)備、運動矢量檢測方法、圖像編碼設(shè)備和程序。
圖1是圖示采用根據(jù)本發(fā)明的第一實施例的運動矢量檢測設(shè)備的圖像編碼設(shè)備的配置的圖。
圖2是圖示在采用根據(jù)本發(fā)明的第一實施例的運動矢量檢測設(shè)備的圖像編碼設(shè)備中、與最佳模式的選擇相關(guān)聯(lián)的處理序列的流程圖。
圖3是圖示1/2像素的安排的圖。
圖4是具體圖示在根據(jù)本發(fā)明的第一實施例的圖像編碼設(shè)備中、由具有1/4像素精度的運動預(yù)測和補償電路執(zhí)行的處理序列的流程圖。
圖5是圖示指定具有1/4像素精度的點的序列的概念圖。
圖6是圖示計算在線(line)中安排的一組像素的平均值的序列的概念圖。
圖7A到7D是圖示指定指示具有1/4像素精度的點的運動矢量的序列的概念圖。
圖8是具體圖示由在根據(jù)本發(fā)明的第二實施例的圖像編碼設(shè)備中的1/4像素精度運動預(yù)測和補償電路執(zhí)行的處理序列的流程圖。
圖9A到9D是圖示指定指示具有1/4像素精度的點的運動矢量作為用于通過1/2像素的SATD值的比較的運動補償?shù)倪\動矢量的序列的概念圖。
圖10A和10B是圖示指定指示具有1/4像素精度的點的運動矢量作為用于通過1/2像素的SATD值的比較的運動補償?shù)倪\動矢量的序列的另一概念圖。
圖11是具體圖示在根據(jù)本發(fā)明的第二實施例的圖像編碼設(shè)備中、由1/4像素精度運動預(yù)測和補償電路執(zhí)行的先進(jìn)處理序列的流程圖。
圖12是具體圖示在根據(jù)本發(fā)明的第二實施例的圖像編碼設(shè)備中、由具有1/4像素精度的運動預(yù)測和補償電路執(zhí)行的另一先進(jìn)處理序列的流程圖。
圖13是具體圖示在根據(jù)本發(fā)明的第二實施例的圖像編碼設(shè)備中、由具有1/4像素精度的運動預(yù)測和補償電路執(zhí)行的另一先進(jìn)處理序列的流程圖。
圖14是具體圖示在根據(jù)本發(fā)明的第二實施例的圖像編碼設(shè)備中、由具有1/4像素精度的運動預(yù)測和補償電路執(zhí)行的另一先進(jìn)處理序列的流程圖。
圖15是具體圖示在根據(jù)本發(fā)明的第三實施例的圖像編碼設(shè)備中、由1/4像素精度運動預(yù)測和補償電路執(zhí)行的處理序列的流程圖。
具體實施例方式 下文中,將參照附圖詳細(xì)描述本發(fā)明的優(yōu)選實施例(下文中,簡稱為“實施例”)。
在本發(fā)明的實施例中,一種運動矢量檢測設(shè)備包括運動預(yù)測和補償電路,其在每一預(yù)測模式使用指示編碼效率的成本函數(shù)計算具有第一像素精度的多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。這里,具有第一像素精度的成本值的截面是在預(yù)定方向的一組像素。下文中,將基于該配置進(jìn)行詳細(xì)描述。
第一實施例 圖1示出采用根據(jù)本發(fā)明實施例的運動矢量檢測設(shè)備的圖像編碼設(shè)備的配置。這里,示例基于AVC的圖像編碼設(shè)備。
圖像編碼設(shè)備1從多個幀內(nèi)(intra)預(yù)測模式和多個幀間(inter)預(yù)測模式選擇最佳預(yù)測模式,并且從圖像數(shù)據(jù)減去選擇的最佳預(yù)測模式中的預(yù)測值以生成差值(differential)數(shù)據(jù)。然后,通過對差值數(shù)據(jù)執(zhí)行正交變換處理、量化處理、可變長度編碼處理,圖像編碼設(shè)備通過使用幀內(nèi)編碼和幀間編碼來編碼圖像數(shù)據(jù)。下文中,將詳細(xì)描述其配置和操作。
如圖1所示,圖像編碼設(shè)備1包括模擬-數(shù)字(A/D)轉(zhuǎn)換電路2、圖像安排切換緩沖器3、減法電路4、幀內(nèi)預(yù)測電路5、作為對應(yīng)于運動矢量檢測設(shè)備的運動預(yù)測和補償裝置的運動預(yù)測和補償電路6、正交變換電路7、量化電路8、比率(rate)控制電路9、可逆編碼電路10、存儲緩沖器11、逆量化電路12、逆正交變換電路13、去塊(deblocking)濾波器14、幀存儲器15以及幀內(nèi)和幀間模式確定電路16。運動預(yù)測和補償電路6包括全像素(full-pixel)精度運動補償和檢測電路61、1/2像素(half-pixel)精度運動補償和檢測電路62和1/4像素(quarter-pixel)精度運動預(yù)測和補償電路63。A/D轉(zhuǎn)換電路2、圖像安排切換緩沖器3、減法電路4、幀內(nèi)預(yù)測電路5、正交變換電路7、量化電路8、比率控制電路9和可逆編碼電路10構(gòu)成編碼裝置。此外,第一像素精度是例如1/2像素精度,而第二像素精度是例如1/4像素精度。
在此配置中,A/D轉(zhuǎn)換電路2將視頻信號SV轉(zhuǎn)換為數(shù)字信號并且輸出圖像數(shù)據(jù)D1。圖像安排切換緩沖器3接收圖像數(shù)據(jù)D1,根據(jù)與編碼處理相關(guān)聯(lián)的GOP(圖片組)結(jié)構(gòu)切換圖像數(shù)據(jù)D1的幀的安排,并且輸出切換的圖像數(shù)據(jù)。減法電路4接收從圖像安排切換緩沖器3輸出的圖像數(shù)據(jù)D1,并且從由幀內(nèi)預(yù)測電路5在幀內(nèi)編碼中生成的預(yù)測值生成和輸出差值數(shù)據(jù)D2。通常,幀內(nèi)預(yù)測電路5使用相同圖像中的圖像采樣預(yù)測在不同位置處的圖像。
另一方面,減法電路4從由運動預(yù)測和補償電路6在幀間編碼中生成的預(yù)測值生成和輸出差值數(shù)據(jù)D2。
正交變換電路7接收從減法電路4輸出的差值數(shù)據(jù)D2,對該數(shù)據(jù)執(zhí)行如離散余弦變換(DCT)和Karhunen-Loeve變換的正交變換處理,并且輸出變換系數(shù)數(shù)據(jù)D3作為處理結(jié)果。量化電路8用基于比率控制電路9的比率控制的量化比例來量化和輸出變換系數(shù)數(shù)據(jù)D3。
可逆編碼電路10通過可變長度編碼、算術(shù)編碼等對量化電路8的輸出數(shù)據(jù)執(zhí)行可逆編碼處理,并且輸出得到的數(shù)據(jù)??赡婢幋a電路10從幀內(nèi)預(yù)測電路5和運動預(yù)測和補償電路6獲取關(guān)于與幀內(nèi)編碼相關(guān)聯(lián)的幀內(nèi)預(yù)測模式的信息和關(guān)于與幀間編碼相關(guān)聯(lián)的運動矢量的信息,將這種信息設(shè)置為輸出數(shù)據(jù)D4的報頭信息,并且輸出該輸出數(shù)據(jù)。幀內(nèi)預(yù)測模式也稱為圖像間預(yù)測編碼。
存儲緩沖器11存儲可逆編碼電路10的輸出數(shù)據(jù)D4,并且根據(jù)傳輸路徑的傳輸速率輸出存儲的數(shù)據(jù)。比率控制電路9通過監(jiān)視存儲緩沖器11的空閑容量來監(jiān)視通過編碼處理生成的編碼量。作為監(jiān)視結(jié)果,通過改變量化電路8中的量化比例控制生成的編碼量。
逆量化電路12對量化電路8的輸出數(shù)據(jù)執(zhí)行逆量化處理,因而再現(xiàn)量化電路8的輸入數(shù)據(jù)。逆正交變換電路13對逆量化電路12的輸出數(shù)據(jù)執(zhí)行逆正交變換處理,從而再現(xiàn)正交變換電路7的輸入數(shù)據(jù)。
去塊濾波器14從逆正交變換電路13的輸出數(shù)據(jù)移除塊失真,并且輸出得到的數(shù)據(jù)。例如,在H.264/AVC中,在將解碼圖像存儲在幀存儲器15之前,通過去塊濾波器14適應(yīng)性地移除塊失真。
幀存儲器15適當(dāng)?shù)靥砑佑蓭瑑?nèi)預(yù)測電路5或運動預(yù)測和補償電路6生成的預(yù)測值到去塊濾波器14的輸出數(shù)據(jù),并且將得到的數(shù)據(jù)記錄為參考圖像信息。
運動預(yù)測和補償電路6在基于存儲在幀存儲器15中的參考圖像信息的預(yù)測幀(參考幀)的基礎(chǔ)上,檢測從圖像安排切換緩沖器3輸出的圖像數(shù)據(jù)的運動矢量。運動預(yù)測和補償電路通過使用檢測的運動矢量補償存儲在幀存儲器15中的參考圖像信息的運動,并且檢測最佳幀間預(yù)測模式。當(dāng)以該幀間預(yù)測模式執(zhí)行編碼處理時,運動預(yù)測和補償電路生成最佳模式中的預(yù)測圖像信息,并且將基于該預(yù)測圖像信息的預(yù)測值輸出到減法電路4。
幀內(nèi)預(yù)測電路5在幀內(nèi)編碼中基于存儲在幀存儲器15中的參考圖像信息檢測最佳幀內(nèi)預(yù)測模式。當(dāng)以該幀內(nèi)預(yù)測模式執(zhí)行編碼處理時,幀內(nèi)預(yù)測電路從最佳模式的參考圖像信息生成預(yù)測圖像信息的預(yù)測值,并且將生成的預(yù)測值輸出到減法電路4。
以此方式,圖像編碼設(shè)備1通過幀間編碼處理和幀內(nèi)編碼處理生成基于與幀間預(yù)測相關(guān)聯(lián)的運動補償?shù)牟钪禂?shù)據(jù)D2和基于幀內(nèi)預(yù)測的差值數(shù)據(jù)D2,并且對差值數(shù)據(jù)D2執(zhí)行正交變換處理、量化處理和可變長度編碼處理,并且發(fā)送得到的數(shù)據(jù)。
這里,在AVC中,通過使用與AVC相關(guān)聯(lián)的聯(lián)合模式(AVC參考編碼方案),為幀內(nèi)和幀間預(yù)測模式定義基于多通編碼的高質(zhì)量模式(高復(fù)雜性模式)和基于單通編碼的高速率模式(低復(fù)雜性模式),并且基于清晰度選擇最佳模式以執(zhí)行編碼處理。
在低復(fù)雜性模式中,指示編碼效率的成本函數(shù)通過以下表示式定義,并且通過由成本函數(shù)獲得的成本值Cost(mode)的比較檢測最佳模式。
Cost(mode)=SA(T)D+SA(T)D0(1) 這里,SA(T)D是原始圖像和預(yù)測圖像之間的差值,并且采用原始圖像和預(yù)測圖像之間的像素值的絕對差的和。
SA(T)D0是給到差值SA(T)D的偏移值,是基于報頭位和作為用于確定模式的權(quán)重的成本(cost),并且代表要提供到附屬信息傳輸?shù)臄?shù)據(jù)量。
更具體地,通過以下表達(dá)式為宏(macro)塊表示絕對差值SAD的和,并且在預(yù)測模式Mode中采用原始圖像和預(yù)測圖像之間的差值。
代替從表達(dá)式(2)得到的絕對差值SAD的和,通過以下表達(dá)式獲得的SATD(mode)可以用作差值的和。
這里,Hadamard()表示應(yīng)用Hadamard變換矩陣到目標(biāo)矩陣的Hadamard變換運算,如由以下表達(dá)式所指示的。
Hadamard(A)=HTAH(4) Hadamard變換矩陣由表達(dá)式(5)表示,其中HT是Hadamard變換矩陣的轉(zhuǎn)置矩陣。
偏移值SA(T)D0在向前預(yù)測模式中由以下表達(dá)式表示。
SA(T)D0=QP0(QP)·(2×code_number_of_ref_idx_fwd+Bit_to_code_MVDFW)(6) 這里,QP0(QP)是將量化參數(shù)QP變換為量化比例(scale)的函數(shù),MVDFW是與向前預(yù)測相關(guān)聯(lián)的運動矢量,并且Bit_to_code是與該運動矢量相關(guān)聯(lián)的位流的編碼量。
偏移值SA(T)D0在向后預(yù)測模式中由以下表達(dá)式表示。
SA(T)D0=QP0(QP)×Bit_to_code_MVDBW(7) 這里,MVDBW是與向后預(yù)測相關(guān)聯(lián)的運動矢量。
偏移值SA(T)D0在雙向預(yù)測模式中由以下表達(dá)式表示。
SA(T)D0=QP0(QP)·(2×code_number_of_ref_idx_fwd+Bit_to_code_forward_Blk_size+Bit_to_code_backward_Blk_size+Bit_to_code_MVDFW+Bit_to_code_MVDBW)(8) 這里,Bit_to_code_forward_Blk_size和Bit_to_code_backward_Blk_size分別是傳輸關(guān)于與向前預(yù)測和向后預(yù)測相關(guān)聯(lián)的運動補償塊的信息所需的位流的編碼量。
在直接模式中,偏移值SA(T)D0由以下表達(dá)式表示。
SA(T)D0=-16×QP0(QP)(9) 在幀內(nèi)4×4預(yù)測模式中,偏移值SA(T)D0由以下表達(dá)式表示。
SA(T)D0=24×QP0(QP)(10) 具有應(yīng)用到運動矢量的檢測并且由以下表達(dá)式表示的最小成本值Cost的運動矢量從成本函數(shù)檢測。
Cost=SA(T)D+SA(T)D0 SA(T)D0=QP0(QP)·(Bits_to_code_vector+2×code_number_of_ref_index_fwd)(11) 因此,在低復(fù)雜性模式中檢測最佳模式時,編碼設(shè)備1的幀內(nèi)預(yù)測電路5和運動預(yù)測和補償電路6使用亮度信號計算幀內(nèi)編碼和幀間編碼的所有預(yù)測模式的成本值Cost。編碼設(shè)備選擇具有最低成本值Cost的預(yù)測模式,并且檢測亮度信號的最佳模式。因此,當(dāng)選擇幀內(nèi)編碼時,計算幀內(nèi)預(yù)測模式中色差信號的成本值,并且通過比較計算結(jié)果將基于最低成本值的幀內(nèi)預(yù)測模式設(shè)為色差信號的最佳模式。
用于使用成本函數(shù)選擇預(yù)測模式的各種裝置在例如JP-A-2003-230149中公開。
因此,通過基于成本函數(shù)的成本值的比較,從多個幀內(nèi)預(yù)測模式和多個幀間預(yù)測模式檢測要提供給編碼處理的最佳模式的圖像編碼設(shè)備具有例如以下操作,所示成本函數(shù)代表每一宏塊的編碼效率和最佳模式中的編碼圖像數(shù)據(jù)。
也就是說,在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算作為最佳運動矢量的候選的多個運動矢量的成本值,并且使用具有第一像素精度的成本值的截面(profile)計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。這里,具有第一像素精度的成本值的截面是預(yù)定方向上的一組像素。第一預(yù)測模式是幀間預(yù)測模式,第二預(yù)測模式是幀內(nèi)預(yù)測模式,第一像素精度是1/2像素精度,而第二像素精度是1/4像素精度。
下文中,將參照圖2中所示的流程圖,描述在采用根據(jù)本發(fā)明實施例的運動矢量檢測設(shè)備的圖像編碼設(shè)備中選擇最佳模式的處理序列。
當(dāng)序列開始時(SA1),運動預(yù)測和補償電路6在作為候選的所有幀內(nèi)預(yù)測模式中(SA2)使用全像素精度運動補償和檢測電路61計算全像素的成本值Cost(SA3)。此時,通過使用表達(dá)式(2)和(3)計算作為具有全像素精度候選的運動矢量的SA(T)D。例如,當(dāng)搜索具有全像素精度的垂直方向上100和水平方向上100的范圍時,執(zhí)行SA(T)D的運算100×100次。使用SA(T)D從表達(dá)式(11)計算成本值Cost,并且計算具有最低成本值的運動矢量(SA3)。
1/2像素精度運動補償和檢測電路62補償在具有全像素精度的最低成本值Cost的運動矢量周圍的、作為具有1/2像素精度的點的候選的運動矢量的運動(SA4)。也就是說,具有1/2像素精度的9個點是作為候選的運動矢量,例如如圖3所示。在此情況下,使用6抽頭(6-tap)FIR濾波器準(zhǔn)備具有1/2像素精度點的像素。
隨后,計算各個1/2像素點的SA(T)D和成本值Cost(SA5)。
然后,1/4像素精度運動預(yù)測和補償電路63從具有1/2像素精度的SA(T)D和成本值Cost預(yù)測具有1/4像素精度的最佳運動矢量,并且通過預(yù)測計算其SA(T)D和成本值Cost(SA6)。隨后將描述其細(xì)節(jié)。
隨后,運動預(yù)測和補償電路6計算直接模式中的成本值Cost(SA7)。幀內(nèi)預(yù)測電路5計算所有幀內(nèi)模式中的成本值Cost(SA8)。通過從在幀間預(yù)測模式、直接模式和幀內(nèi)預(yù)測模式中計算的成本值Cost選擇具有最小成本值的模式,確定最佳模式(SA9)。然后,結(jié)束序列(SA10)。直接模式概念上包括時間直接模式和空間直接模式。
將參照圖4中所示的流程圖,詳細(xì)描述由根據(jù)本發(fā)明第一實施例的圖像編碼設(shè)備的1/4像素精度運動預(yù)測和補償電路63執(zhí)行的處理的序列。
下文中,具有1/2像素精度的成本值Cost稱為Cost_half,而具有1/4像素精度的成本值Cost稱為Cost_quarter。在圖4所示的序列中,從Cost_half得到具有1/4像素精度的運動矢量的SA(T)D和Cost_quarter。
當(dāng)序列開始時(SC1),例如,從具有Cost_half的最小值的點分別形成平行于x軸和y軸的3個點的組,如圖5所示。也就是說,在圖5所示的示例中,由在x軸方向上由參考標(biāo)號101、102和103表示的點形成組201,而由在y軸方向上由參考標(biāo)號101、104和105表示的點形成組202。換句話說,分別通過在某一方向的一組像素和另一方向的一組像素形成各組。
例如,如圖6所示,可以在SC2計算在x軸方向水平安排的3個點的平均值S4、S5和S6,以及在y軸方向垂直安排的3個點的平均值S1、S2和S3。
然后,比較在各線中安排的3個點(SC3)的SATD值。也就是說,首先比較平行于x軸的線中3個點的SATD值。在圖5中所示的示例中,比較由參考標(biāo)號101到103表示的各點的SATD值。確定是否中心點102具有最小SATD值(SC4)。當(dāng)確定結(jié)果為是(中心)時,將中心點指定為該線中的運動矢量(SC7)。
也就是說,如圖7A所示,當(dāng)點301到303的中心點302具有最小SATD值時,將點302指定為該線中的運動矢量(圖中的參考標(biāo)號304)。
當(dāng)SC4的確定為否時,確定是否中心點具有第二小SATD值,最小SATD值和第二小SATD值之間的差是否小,以及第二小SATD值和第三小SATD值之間的差是否大(SC5)。當(dāng)確定結(jié)果為是(內(nèi)部qpel)時,將具有最小值的點和具有第二小值的點的中間點指定為具有1/4像素精度的線中的運動矢量(SC8)。
也就是說,如圖7B所示,當(dāng)在點305到307之中點305和點306之間的SATD值的差A(yù)1小,而點306和點307之間的SATD值的差A(yù)2大時,將點305和306的中間點308指定為該線中的運動矢量。
當(dāng)SC5的確定結(jié)果為否時,確定是否中心點具有第二小SATD值,以及最小SATD值和第二小SATD值之間的差是否基本等于第二小SATD值和第三小SATD值之間的差(SC6)。當(dāng)確定結(jié)果為是(Halfpel)時,將具有最小SATD值的點指定為具有1/4像素精度的線中的運動矢量(SC9)。
也就是說,如圖7C所示,當(dāng)中心點310具有第二小SATD值并且點309和點310之間SATD值的差A(yù)3基本等于點310和點311之間SATD值的差A(yù)4時,將具有最小SATD值的點309指定為該線中的運動矢量(圖中參考標(biāo)號312)。
當(dāng)SC6的確定結(jié)果為否時,具有最小SATD值的點和具有第二小SATD值的點之間SATD值的差大,而中心點和另一點(另一端)之間SATD值的差小,將存在于從具有第二小值的點到具有最小值的點的延長線中具有1/4像素精度的點指定為該線中的運動矢量(SC10)。
也就是說,如圖7D所示,當(dāng)具有最小SATD值的點313和中心點314之間SATD值的差A(yù)5大,而中心點314和另一端點315之間SATD值的差A(yù)6小時,將存在于從具有第二小值的點314到具有最小值的點313的延長線中的點316指定為該線中的運動矢量。換句話說,將取決于點313和點314的梯度(gradient)確定的點316指定為具有1/4精度的運動矢量。
隨后,如圖5所示,例如,獲得在線204中預(yù)測的具有1/4像素精度的點106和在線103中預(yù)測的具有1/4像素精度的點107,并且從線中具有1/4像素精度的運動矢量確定垂直于該線的線(候選1/4像素線205)(SC11)。對平行于y軸的線執(zhí)行SATD值的比較以確定候選1/4像素線206(SC4到SC11)。
以此方式,將候選1/4像素線205和206相互交叉的點108指定為具有1/4像素精度的運動矢量,并且從9個點的SATD值的梯度指定其SATD值以獲得成本值Cost(SC13)。然后,一系列處理結(jié)束。
也可以采用SC7到SC10的確定的組合。也就是說,可以采用下面描述的(a)到(d)的任何組合。
(a)在檢測具有1/2像素精度的運動中,基于SAD值或SATD值選擇位于具有1/2像素精度的線中的至少三個點,SAD值是絕對預(yù)測差的和,SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)中心點具有最小SAD或SATD值時,將指示具有1/2像素精度的最小SAD或SATD值的點的運動矢量指定為該線中具有1/4像素精度的運動矢量,并且使用具有1/4像素精度的最小SAD或SATD值作為該運動矢量的SAD或SATD值,計算該運動矢量的成本值(中心)。
(b)在檢測具有1/2像素精度的運動中,基于SAD值或SATD值選擇位于具有1/2像素精度的線中的至少三個點,SAD值是絕對預(yù)測差的和,SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)端點具有最小SAD或SATD值,中心點具有第二小SAD或SATD值,并且最小SAD或SATD值和第二小SAD或SATD值之間的差小,以及第二小SAD或SATD值和第三小SAD或SATD值之間的差大時,將指示具有最小SAD或SATD值的點和具有第二小SAD或SATD值之間的中間點的運動矢量指定為該線中具有1/4像素精度的運動矢量,并且基于最小、第二小和第三小SAD或SATD值的關(guān)系,使用該運動矢量的SAD或SATD值計算運動矢量的成本值(內(nèi)部qpel)。
(c)在檢測具有1/2像素精度的運動中,基于SAD值或SATD值選擇位于具有1/2像素精度的線中的至少三個點,SAD值是絕對預(yù)測差的和,SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)端點具有最小SAD或SATD值、中心點具有第二小SAD或SATD值,并且最小SAD或SATD值和第二小SAD或SATD值之間的差基本等于第二小SAD或SATD值和第三小SAD或SATD值之間的差時,將指示具有第二小SAD或SATD值的點的運動矢量指定為該線中具有1/4像素精度的運動矢量,并且使用第二小SAD或SATD值作為運動矢量的SAD或SATD值,計算該運動矢量的成本值(Halfpel)。
(d)在檢測具有1/2像素精度的運動中,基于SAD值或SATD值選擇位于具有1/2像素精度的線中的至少三個點,SAD值是絕對預(yù)測差的和,SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)端點具有最小SAD或SATD值,具有最小SAD或SATD值的端點和中心點之間SAD或SATD值的差大,并且中心點和另一端點之間SAD或SATD值的差小時,將指示存在于從具有第二小SAD或SATD值的點到具有最小SAD或SATD值的點的延長線中的具有1/4像素精度的運動矢量指定為用于運動補償?shù)倪\動矢量,并且基于最小、第二小和第三小SAD或SATD值的關(guān)系,使用該運動矢量的SAD或SATD值計算該運動矢量的成本值(外部qpel)。
全部(a)到(d)的組合是最有效的。(a)+(b)+(c)、(a)+(b)和(a)的組合以該順序變得較低效。當(dāng)不滿足條件時,具有1/2像素精度的最佳點可以用作具有1/4像素精度的點。
如上面詳細(xì)所述,根據(jù)本發(fā)明的第一實施例,通過使用1/4像素精度運動預(yù)測和補償單元可以大大減少SA(T)D運算的數(shù)目,從而減少循環(huán)(cycle)的數(shù)目和硬件規(guī)模的數(shù)目。因為從具有1/2像素精度的運動補償和檢測的結(jié)果計算具有1/4像素精度的運動矢量、SA(T)D值和成本值,所以不需要為1/4像素的運動檢測準(zhǔn)備具有1/4像素精度的像素,并且可能減少需要的存儲器容量設(shè)備。
第二實施例 根據(jù)本發(fā)明第二實施例的圖像編碼設(shè)備用于通過比較指示編碼效率的成本函數(shù)的成本值,在每一預(yù)定塊從多個第一預(yù)測模式和多個第二預(yù)測模式檢測要提供給編碼處理的最佳模式,并且以最佳模式編碼圖像數(shù)據(jù)。
圖像編碼設(shè)備包括運動預(yù)測和補償電路,配置來在每個第一預(yù)測模式計算具有第一像素精度的多個運動矢量的成本值,所述多個運動矢量是最佳運動矢量的候選,并且基于成本值的梯度計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
替代地,圖像編碼設(shè)備包括運動預(yù)測和補償電路,配置來在每個第一預(yù)測模式計算具有第一像素精度的多個運動矢量的成本值,所述多個運動矢量是最佳運動矢量的候選,并且基于最高N個成本值的優(yōu)先級(priority)計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值,其中區(qū)分了具有第一像素精度的各成本值的優(yōu)先級。
替代地,圖像編碼設(shè)備包括運動預(yù)測和補償電路,配置來在每個第一預(yù)測模式計算具有第一像素精度的多個運動矢量的成本值,所述多個運動矢量是最佳運動矢量的候選,并且基于來自具有第一像素精度的成本值中的最低成本值的三個成本值的優(yōu)先級,計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
這里,第一像素精度可以是粗糙的像素精度,而第二像素精度可以是比第一像素精度精確的像素精度。
因為根據(jù)本發(fā)明第二實施例的圖像編碼設(shè)備的配置與上述第一實施例(圖1)相同,所以省略其重復(fù)描述,并且相同的參考編號表示相同的元件。使用與圖1所示相同的配置,根據(jù)第二實施例的圖像編碼設(shè)備執(zhí)行以下操作。
-1/4像素精度運動預(yù)測和補償電路63在每個幀間預(yù)測模式計算具有1/2像素精度的多個運動矢量的成本值,該多個運動矢量作為最佳運動矢量的候選,并且基于各成本值的梯度計算具有1/4像素精度的最佳運動矢量和具有1/4像素精度的最佳運動矢量的成本值。
-1/4像素精度運動預(yù)測和補償電路63在每個幀間預(yù)測模式計算具有1/2像素精度的多個運動矢量的成本值,該多個運動矢量作為最佳運動矢量的候選,并且基于最高N個成本值的優(yōu)先級計算具有1/4像素精度的最佳運動矢量和具有1/4像素精度的最佳運動矢量的成本值,其中區(qū)分了具有第一像素精度的各成本值的優(yōu)先級。
-1/4像素精度運動預(yù)測和補償電路63在每個幀間預(yù)測模式計算具有1/2像素精度的多個運動矢量的成本值,該多個運動矢量作為最佳運動矢量的候選,并且基于來自具有1/2像素精度的成本值中的最低成本值的三個成本值的優(yōu)先級,計算具有1/4像素精度的最佳運動矢量和具有1/4像素精度的最佳運動矢量的成本值。
將參照圖8中示出的流程圖,詳細(xì)描述由根據(jù)本發(fā)明的第二實施例的圖像編碼設(shè)備的1/4像素精度運動預(yù)測和補償電路63執(zhí)行的處理的序列。
下文中,具有1/2像素精度的成本值Cost稱為Cost_half,而具有1/4像素精度的成本值Cost稱為Cost_quarter。在圖8所示的序列中,從Cost_half得到具有1/4像素精度的運動矢量的SA(T)D和Cost_quarter。
也就是說,當(dāng)序列開始時(SB1),1/4像素精度運動預(yù)測和補償電路63首先確定具有Cost_half的最小值的點的絕對值是否明顯小(SB2)。當(dāng)SB2的確定結(jié)果為是時,將具有Cost_half的最小值的點指定為具有1/4像素精度的運動矢量,將1/2像素的最小SATD值設(shè)置為該運動矢量的SATD值,并且使用最小點的SATD值計算成本值Cost_quarter(SB7)。
當(dāng)SB2的確定結(jié)果為否時,確定具有Cost_half的最小值的點的SATD值是否明顯小于具有Cost_half的第二小值的點的SATD值(SB3)。這里,當(dāng)確定結(jié)果為是時,將具有Cost_half的最小值的點指定為具有1/4像素精度的運動矢量,將1/2像素的最小SATD值設(shè)置為該運動矢量的SATD值,并且使用具有最小值的點的SATD值計算成本值Cost_quarter(SB7),類似于作為之前確定結(jié)果的處理。
也就是說,例如,如圖9A所示,當(dāng)作為兩個點Best1和Best2的比較結(jié)果,Best1的SATD比率(或差的絕對值)非常小時,將Best1的位置(也就是說,具有1/2像素精度的最佳位置)輸出為具有1/4像素精度的運動矢量,并且使用具有最小值的點的SATD值計算Cost_quarter。這里“非常小”意味著Best1的絕對值是770等的情況。
當(dāng)SB3的確定結(jié)果為否時,確定具有Cost_half的最小值的點的SATD值和具有Cost_half的第二小值的點的SATD之間的差是否小,并且具有第二小值的點的SATD值和具有第三小值的點的SATD是否相互接近(之間的差小)(SB4)。這里,當(dāng)確定結(jié)果為是時,將具有Cost_half的最小值的點的SATD值指定為具有1/4像素精度的運動矢量的SATD值,并且使用具有最小值的點的SATD值計算成本值Cost_quarter(SB7),類似于作為之前確定結(jié)果的處理。
也就是說,例如,如圖9B所示,當(dāng)作為三個點Best1到Best3的比較結(jié)果,Best1和Best2的SATD比率小,并且Best2和Best3的SATD值相互接近(之間的差小),將Best1的位置輸出為具有1/4像素精度的運動矢量,并且使用具有最小值的點的SATD值計算Cost_quarter。這里,“Best1和Best2的SATD比率小”意味著比率為0.8等的情況,而“Best2和Best3之間的差小”意味著差等于或小于1000等的情況。
當(dāng)SB4的確定為否時,確定具有Cost_half的最小值的點的值是否接近于具有第二小值的點的值,并且具有第二小值的點的值和具有第三小值的點的值之間的差是否小(SB5)。這里,當(dāng)確定結(jié)果為是時,將具有最小值的點和具有第二小值的點之間的中間點指定為具有1/4像素精度的運動矢量,并且基于具有第二小和第三小值的點的SATD值的梯度,通過預(yù)測1/4像素的SATD值計算Cost_quarter的值(SB8)。
也就是說,如圖9C所示,作為例如三個點Best1到Best3的比較結(jié)果,當(dāng)Best1和Best2的SATD值相互接近(其比率或差小等)并且Best2的SATD值遠(yuǎn)小于Best3的SATD值(其比率或差小等)時,將Best1和Best2之間的中間點輸出為具有1/4像素精度的運動矢量,并且使用具有最小值的點的SATD值計算Cost_quarter。從Best2和Best3的梯度計算SATD值。
這里?!癇est1和Best2的比率小”意味著比率為0.9等的情況,而“Best2和Best3的比率小”意味著比率為0.99等的情況。“Best1和Best2之間的差小”意味著差為500等的情況,而“Best2和Best3之間的差小”意味著差為250等的情況。
當(dāng)SB5的確定結(jié)果為否時,其對應(yīng)于其中具有Cost_half的最小值的點的SATD值、具有第二小值的點的SATD值和具有第三小值的點的SATD值相互接近的情況(比率或差小等)。此時,確定具有最小值的點、具有第二小值的點和具有第三小值的點是否在線中以此順序排列(SB6)。當(dāng)SB6的確定結(jié)果為是時,例如,將位于從具有第二小值的點到具有最小值的點的延長線中的1/4像素點指定為具有1/4像素精度的運動矢量,從具有最小值的點和具有第二小值的點的SATD值的梯度預(yù)測1/4像素的SATD值,并且計算Cost_quarter的值(SB9)。
也就是說,如圖9D所示,作為例如三個點Best1到Best3的比較結(jié)果,當(dāng)Best1和Best2的SATD值相互接近(其比率或差小等)并且Best2和Best3的SATD值相互接近(其比率或差小等)時,確定三個點是否排列在線中。
如圖10A所示,當(dāng)確定點排列在線中時,例如,將不同于點Best1到Best3的點(例如,外部插入點)輸出為具有1/4像素精度的運動矢量,并且使用具有最小值的點的SATD值計算Cost_quarter的值。
這里,“Best1和Best2的比率小”意味著比率為0.99等的情況,而“Best2和Best3的比率小”意味著比率為0.9等的情況。Best1和Best2之間的差小”意味著差為250等的情況,而“Best2和Best3之間的差小”意味著差為500等的情況。
當(dāng)SB6的確定結(jié)果為否時,將指示位于具有Cost_half的最小值的點、具有第二小值的點和具有第三小值的點的中間、具有1/4像素精度的運動矢量指定為具有1/4像素精度的運動矢量,從具有最小值和第二小值的點的SATD值的梯度預(yù)測1/4像素的SATD值,并且計算Cost_quarter的值。
也就是說,如圖9D所示,作為例如三個點Best1到Best3的比較結(jié)果,當(dāng)Best1和Best2的SATD值相互接近(其比率或差小等)并且Best2和Best3的SATD值相互接近(其比率或差小等)時,確定三個點是否排列在線中。
這里,“Best1和Best2的比率小”意味著比率為0.99等的情況,而“Best2和Best3的比率小”意味著比率為0.9等的情況。Best1和Best2之間的差小”意味著差為250等的情況,而“Best2和Best3之間的差小”意味著差為250等的情況。
如圖10B所示,當(dāng)點沒有排列在線中而是相互重疊時,將點Best1到Best3的中間點輸出為具有1/4像素精度的運動矢量,并且使用具有最小值的點的SATD值計算Cost_quarter的值。
以此方式,一系列處理結(jié)束(SB11)。
通過任意地組合SB7到SB10的處理,可以從具有1/2像素精度的成本值計算具有1/4像素精度的運動矢量和具有1/4像素精度的運動矢量SATD值和成本值。
也就是說,通過組合下面描述的(A)到(E)的一些,可能從具有1/2像素精度的成本值計算具有1/4像素精度的運動矢量和具有1/4像素精度的運動矢量SATD值和成本值。
(A)當(dāng)1/2像素的最小SAD或SATD值的絕對值小或當(dāng)1/2像素的最小SAD或SATD值遠(yuǎn)小于第二小SAD或SATD值時,將指示具有最小SAD或SATD值的點的運動矢量指定為要用于運動補償?shù)倪\動矢量。然后,使用1/2像素的最小SAD或SATD值作為運動矢量的SAD或SATD值,計算運動矢量的成本值。
(B)當(dāng)1/2像素的最小SAD或SATD值小于第二小SAD或SATD值,并且第二小SAD或SATD值和第三小SAD或SATD值之間的差小時,將指示具有最小SAD或SATD值的點的運動矢量指定為要用于運動補償?shù)倪\動矢量。然后,使用1/2像素的最小SAD或SATD值作為運動矢量的SAD或SATD值,計算運動矢量的成本值。
(C)當(dāng)1/2像素的最小SAD或SATD值和第二小SAD或SATD值之間的差小,并且第二小SAD或SATD值和第三小SAD或SATD值之間的差大時,將指示具有最小SAD或SATD值的點和具有第二小SAD或SATD值的點之間的中間點的運動矢量指定為要用于運動補償?shù)倪\動矢量。然后,從三個點的SAD或SATD值的關(guān)系計算運動矢量的SAD或SATD值,并且計算運動矢量的成本值。
(D)當(dāng)1/2像素的最小SAD或SATD值和第二小SAD或SATD值之間的差小,第二小SAD或SATD值和第三小SAD或SATD值之間的差小,并且具有最小SAD或SATD值的點、具有第二小SAD或SATD值的點和具有第三小SAD或SATD值的點以此順序排列在線中時,將指示位于從具有第二小SAD或SATD值的點到具有最小SAD或SATD值的點的延長線中的、具有1/4像素精度的點的運動矢量指定為要用于運動補償?shù)倪\動矢量。然后,從三個點的SAD或SATD值的關(guān)系計算要用于運動補償?shù)倪\動矢量的SAD或SATD值,并且計算運動矢量的成本值。
(E)當(dāng)1/2像素的最小SAD或SATD值和第二小SAD或SATD值之間的差小,第二小SAD或SATD值和第三小SAD或SATD值之間的差小,并且具有最小SAD或SATD值的點、具有第二小SAD或SATD值的點和具有第三小SAD或SATD值的點沒有排列在線中時,將指示位于具有最小SAD或SATD值的點、具有第二小值的點和具有第三小值的點的中間的、具有1/4像素精度的點的運動矢量指定為要用于運動補償?shù)倪\動矢量。然后,從三個點的SAD或SATD值的關(guān)系計算要用于運動補償?shù)倪\動矢量的SAD或SATD值,并且計算運動矢量的成本值。
全部(A)到(E)的組合是最有效的。(A)+(B)+(C)+(D)、(A)+(B)+(C)、(A)+(B)和(A)的組合以該順序變得較低效。然而,本發(fā)明不限于這些組合。當(dāng)不滿足條件時,具有1/2像素精度的最佳點可以用作具有1/4像素精度的點。
圖11示出當(dāng)采用(A)+(B)+(C)+(D)的組合時的處理序列的流程圖。相同的參考標(biāo)號表示圖8中相同的處理,并且省略重復(fù)描述。當(dāng)SB6的確定結(jié)果為否時,該序列結(jié)束(SB11)。
圖12示出當(dāng)采用(A)+(B)+(C)的組合時的處理序列的流程圖。相同的參考標(biāo)號表示圖8中相同的處理,并且省略重復(fù)描述。當(dāng)SB5的確定結(jié)果為否時,該序列結(jié)束(SB11)。
圖13示出當(dāng)采用(A)+(B)的組合時的處理序列的流程圖。相同的參考標(biāo)號表示圖8中相同的處理,并且省略重復(fù)描述。當(dāng)SB4的確定結(jié)果為否時,該序列結(jié)束(SB11)。
圖14示出當(dāng)采用(A)的組合時的處理序列的流程圖。相同的參考標(biāo)號表示圖8中相同的處理,并且省略重復(fù)描述。當(dāng)SB3的確定結(jié)果為否時,該序列結(jié)束(SB11)。
如上面詳細(xì)所述,根據(jù)本發(fā)明的第二實施例,通過使用1/4像素精度運動預(yù)測和補償單元可以極大減少SATD運算的數(shù)目,從而減少循環(huán)的數(shù)目和硬件規(guī)模的數(shù)目。
因為從具有1/2像素精度的運動補償和檢測的結(jié)果計算具有1/4像素精度的運動矢量、SA(T)D值和成本值,所以不需要為1/4像素的運動檢測準(zhǔn)備具有1/4像素精度的像素,并且可能減少需要的存儲器容量設(shè)備。
第三實施例 在本發(fā)明的第三實施例中,組合了第一實施例和第二實施例。
也就是說,如圖15的流程圖所示,當(dāng)序列開始時(SD1),例如,從具有Cost_half的最小值的點形成分別平行于x軸和y軸的三個點的組(SD2)。換句話說,由在某一方向的一組像素和在另一方向的一組像素分別形成組。
隨后,比較在各條線中排列的三個點的SATD值。首先,比較在平行于x軸的線中排列的三個點的SATD值。然后,確定中心點102是否具有最小SATD值(SD3)。當(dāng)具有1/2像素精度的最小SA(T)D值的點是中心點時,運動預(yù)測和補償電路根據(jù)圖8中示出的處理的序列,使用成本值的梯度計算具有1/4像素精度的最佳運動矢量和1/4像素精度的最佳運動矢量的成本值(SD4)。
當(dāng)具有最小SATD值的點不是中心點時,運動預(yù)測和補償電路根據(jù)圖4中示出的處理的序列,使用具有1/2像素精度的成本值的截面計算具有1/4像素精度的最佳運動矢量和1/4像素精度的最佳運動矢量的成本值(SD4)。以此方式,該系列處理結(jié)束(SD6)。
盡管已經(jīng)參照各實施例描述了本發(fā)明,但是本發(fā)明不限于各實施例,并且可以以各種形式修改而不背離本發(fā)明的要旨。
例如,1/4像素精度運動預(yù)測和補償電路可以包括使用指示噪聲水平、像素的變化值和平均值、以及相鄰塊的運動矢量的指針(indicator)計算具有1/4像素精度的運動矢量的預(yù)測電路。
盡管在上述實施例中已經(jīng)示例了成本值Cost、SAD和SATD,但是本發(fā)明不限于實施例的那些,并且可以采用MAE(平均絕對誤差)。
這里,MAE是絕對誤差ei=fi-yi的加權(quán)平均值。在上面的表達(dá)式中,fi代表預(yù)測值,而yi代表真實值。
根據(jù)本發(fā)明實施例的算法可以應(yīng)用到使用運動檢測的NR(噪聲減小)設(shè)備(如時間濾波器)。在此情況下,檢測運動矢量,并且計算成本值和運動矢量。然后,取決于成本值Cost適應(yīng)性地改變時間濾波器的強度,并且使用幀作為輸入執(zhí)行濾波操作,從而獲得從其移除噪聲的幀。
本申請包含涉及于2008年7月15日向日本專利局提交的日本優(yōu)先權(quán)專利申請JP2008-184041中公開的主題,在此通過引用并入其全部內(nèi)容。
本領(lǐng)域的技術(shù)人員應(yīng)該理解,取決于設(shè)計要求和其他因素,可以出現(xiàn)各種修改、組合、子組合和替換,只要他們在權(quán)利要求及其等價物的范圍內(nèi)。
權(quán)利要求
1.一種運動矢量檢測設(shè)備,包括
運動預(yù)測和補償電路,其在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
2.如權(quán)利要求1所述的運動矢量檢測設(shè)備,其中具有第一像素精度的成本值的截面是在預(yù)定方向上的一組像素。
3.一種圖像編碼設(shè)備,包括
編碼裝置,通過指示編碼效率的成本函數(shù)的成本值的比較,在每一預(yù)定塊從多個第一預(yù)測模式和多個第二預(yù)測模式檢測要提供給編碼處理的最佳模式,并且以所述最佳模式編碼圖像數(shù)據(jù);以及
運動預(yù)測和補償裝置,用于在每一第一預(yù)測模式計算具有第一像素精度的多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
4.如權(quán)利要求3所述的圖像編碼設(shè)備,其中具有第一像素精度的成本值的截面是在預(yù)定方向上的一組像素。
5.如權(quán)利要求3所述的圖像編碼設(shè)備,其中所述第一預(yù)測模式是幀間預(yù)測模式,所述第二預(yù)測模式是幀內(nèi)預(yù)測模式,所述第一像素精度是1/2像素精度,并且所述第二像素精度是1/4像素精度。
6.如權(quán)利要求3所述的圖像編碼設(shè)備,其中所述第二像素精度比所述第一像素精度精確。
7.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置在檢測具有第一像素精度的運動中,基于SAD值或SATD值選擇位于具有第一像素精度的線中的至少三個點,所述SAD值是絕對預(yù)測差的和,所述SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)中心點具有最小SAD或SATD值時,將指示具有第一像素精度的最小SAD或SATD值的點的運動矢量指定為線中具有第二像素精度的運動矢量,并且使用具有第二像素精度的最小SAD或SATD值作為所述運動矢量的SAD或SATD值,計算所述運動矢量的成本值。
8.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置在檢測具有第一像素精度的運動中,基于SAD值或SATD值選擇位于具有第一像素精度的線中的至少三個點,所述SAD值是絕對預(yù)測差的和,所述SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)端點具有最小SAD或SATD值、中心點具有第二小SAD或SATD值、最小SAD或SATD值和第二小SAD或SATD值之間的差小、并且第二小SAD或SATD值和第三小SAD或SATD值之間的差大時,將指示具有最小SAD或SATD值的點和具有第二小SAD或SATD值之間的中間點的運動矢量指定為線中具有第二像素精度的運動矢量,并且基于最小、第二小和第三小SAD或SATD值的關(guān)系,使用所述運動矢量的SAD或SATD值計算所述運動矢量的成本值。
9.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置在檢測具有第一像素精度的運動中,基于SAD值或SATD值選擇位于具有第一像素精度的線中的至少三個點,所述SAD值是絕對預(yù)測差的和,所述SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)端點具有最小SAD或SATD值、中心點具有第二小SAD或SATD值、并且最小SAD或SATD值和第二小SAD或SATD值之間的差基本等于第二小SAD或SATD值和第三小SAD或SATD值之間的差時,將指示具有第二小SAD或SATD值的點的運動矢量指定為線中具有第二像素精度的運動矢量,并且使用第二小SAD或SATD值作為運動矢量的SAD或SATD值,計算所述運動矢量的成本值。
10.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置在檢測具有第一像素精度的運動中,基于SAD值或SATD值選擇位于具有第一像素精度的線中的至少三個點,所述SAD值是絕對預(yù)測差的和,所述SATD是通過對預(yù)測差執(zhí)行Hadamard變換獲得的絕對值的和,當(dāng)端點具有最小SAD或SATD值、所述端點和中心點之間的SAD或SATD值的差大、并且所述中心點和另一端點之間的SAD或SATD值的差小時,將指示存在于從具有第二小SAD或SATD值的點到具有最小SAD或SATD值的點的延長線中的、具有第二像素精度的點的運動矢量指定為用于運動補償?shù)倪\動矢量,并且基于最小、第二小和第三小SAD或SATD值的關(guān)系,使用所述運動矢量的SAD或SATD值計算所述運動矢量的成本值。
11.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置分別選擇兩組的存在于具有第一像素精度的各線中的至少三個點,以便相互垂直,計算各線中具有第二像素精度的運動矢量的點和成本值,將其中從具有第二像素精度的運動矢量的點繪制的要垂直于所述各線的各線相互交叉的點指定為具有第二像素精度的運動矢量,并且基于線中具有第二像素精度的運動矢量的點的SAD或SATD值,使用具有第二像素精度的運動矢量的SAD或SATD值計算運動矢量的成本值,所述SAD值是絕對預(yù)測差的和,所述SATD值是通過對預(yù)測差執(zhí)行Hadamard變換獲得的。
12.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置包括預(yù)測電路,其選擇兩組的存在于具有第一像素精度的線中的至少三個點,以便相互垂直,使得各線在SAD或SATD值是最小的點相互垂直,所述SAD值是具有第一像素精度的絕對預(yù)測差的和,所述SATD值是通過對預(yù)測差執(zhí)行Hadamard變換獲得的。
13.如權(quán)利要求5所述的圖像編碼設(shè)備,其中所述運動預(yù)測和補償裝置取具有第一像素精度的相同x值的三個點的平均以獲得X1、X2和X3,取具有相同y值的三個點的平均以獲得Y1、Y2和Y3,使用在(X1、X2、X3)和(Y1、Y2、Y3)的預(yù)定確定條件,分別計算線中具有第二像素精度的運動矢量的點和成本值,將其中從具有第二像素精度的運動矢量的點繪制的要垂直于所述各線的各線相互交叉的點指定為具有第二像素精度的運動矢量,并且基于線中具有第二像素精度的運動矢量的點的SAD或SATD值,使用具有第二像素精度的運動矢量的SAD或SATD值計算運動矢量的成本值,所述SAD值是絕對預(yù)測差的和,所述SATD值是通過對預(yù)測差執(zhí)行Hadamard變換獲得的。
14.一種運動矢量檢測設(shè)備,包括
運動預(yù)測和補償電路,其在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且取決于具有第一像素精度的成本值的分布,使用具有第一像素精度的成本值的截面或成本值的梯度,計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
15.如權(quán)利要求14所述的運動矢量檢測設(shè)備,其中當(dāng)具有最小SATD值的點是排列的像素的中心時,所述運動預(yù)測和補償電路使用成本值的梯度計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值,所述SATD值是通過對預(yù)測差執(zhí)行Hadamard變換獲得的,并且當(dāng)具有最小SAD或SATD值的點不是中心時,使用具有第一像素精度的成本值的截面或成本值的梯度計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
16.一種運動矢量檢測方法,包括以下步驟
在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選;并且
使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
17.一種程序,其指令計算機執(zhí)行以下步驟
在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選;并且
使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
18.一種圖像編碼設(shè)備,包括
編碼單元,配置為通過指示編碼效率的成本函數(shù)的成本值的比較,在每一預(yù)定塊從多個第一預(yù)測模式和多個第二預(yù)測模式檢測要提供給編碼處理的最佳模式,并且以所述最佳模式編碼圖像數(shù)據(jù);以及
運動預(yù)測和補償單元,配置為在每一第一預(yù)測模式計算具有第一像素精度的多個運動矢量的成本值,該多個運動矢量為最佳運動矢量的候選,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
全文摘要
一種運動矢量檢測設(shè)備,包括運動預(yù)測和補償電路,其在每一預(yù)測模式使用指示具有第一像素精度的編碼效率的成本函數(shù)計算作為最佳運動矢量的候選的多個運動矢量的成本值,并且使用具有第一像素精度的成本值的截面計算具有第二像素精度的最佳運動矢量和具有第二像素精度的最佳運動矢量的成本值。
文檔編號H04N7/26GK101631245SQ200910139939
公開日2010年1月20日 申請日期2009年7月15日 優(yōu)先權(quán)日2008年7月15日
發(fā)明者小鷹直彥, 中里宗弘 申請人:索尼株式會社, 索尼電子公司