專利名稱:圖像數(shù)據(jù)編碼/解碼的方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編碼圖像數(shù)據(jù)的方法及其設(shè)備,還涉及一種解碼圖像數(shù)據(jù)的方法及其設(shè)備。
背景技術(shù):
這部分旨在向讀者介紹可能與下面將要描述和/或主張保護的本發(fā)明的各個方面相關(guān)的技術(shù)領(lǐng)域的各個方面。這種討論被認為有助于向讀者提供背景信息以方便其更好地理解本發(fā)明的各個方面。因此,應(yīng)該理解的是,應(yīng)該從這個角度閱讀這部分中的陳述,而非將其視為是對現(xiàn)有技術(shù)的承認。
各種視頻編碼標準,例如MPEG_4Part 10/AVC,應(yīng)用利用圖像內(nèi)空間冗余性的基于空間的幀內(nèi)預(yù)測算法。對于各種塊大小(例如,4X4、8X8和16X16)都進行幀內(nèi)預(yù)測。以4X4塊的巾貞內(nèi)預(yù)測為例,在AVC中存在九種用于預(yù)測的預(yù)定義空間預(yù)測值(predictor)和預(yù)測方向。AVC中使用的幀內(nèi)預(yù)測方案的最大問題之一是它的復(fù)雜性。為了對當(dāng)前塊進行正確的預(yù)測,首先對位于當(dāng)前塊的左側(cè)和上側(cè)的塊進行重構(gòu),這在對它們自身進行編碼之后并且在其用作預(yù)測值之前進行。因此,圖像編碼只能夠按照從左到右和從上到下的方向順序進行。
現(xiàn)在,處理架構(gòu)正在從高性能順序處理器架構(gòu)演進為并行處理器架構(gòu)(例如,IBM的cell處理器、Intel的Larabee處理器以及nVidia或AMD的GPU等)。這些處理器的引入正在改變計算機進行計算的方式。應(yīng)用程序具有的并行性越多,該應(yīng)用程序在處理器上執(zhí)行得就越好。然而,在AVC編碼中,由于幀內(nèi)預(yù)測固有是順序處理問題的事實,因此無法使用這些處理器進行有效的幀內(nèi)預(yù)測。
已經(jīng)做出若干嘗試以試圖改進在視頻編碼和解碼中的幀內(nèi)預(yù)測的性能,這些嘗試都針對像素級的并行化。這種方法可以根據(jù)預(yù)測模式對一行像素做出預(yù)測。雖然這些方法在DSP或FPGA實施方式中比較有效,但上述的并行處理器架構(gòu)卻無法利用所提出的這些方案。發(fā)明內(nèi)容
鑒于上述的,用于在并行處理平臺上實施改進的幀內(nèi)預(yù)測方法的解決方案仍然是一個待解決的問題。本發(fā)明提供了這樣的解決方案,并且適用于改進至少在編碼器側(cè)的幀內(nèi)預(yù)測的效率。在各個實施例中,在解碼器側(cè)也實現(xiàn)了改進。
本發(fā)明是基于認識到以下事實:圖像預(yù)測可以基于估計的預(yù)測值而不是基于被準確重構(gòu)的預(yù)測值,同時獲得良好的預(yù)測結(jié)果和因此的高壓縮效率。
在原理上,一種用于對圖像數(shù)據(jù)進行編碼的方法,所述圖像數(shù)據(jù)是以塊構(gòu)建的,該方法包括:對圖像(的至少一部分)中的每個塊,在第一預(yù)測步驟中,基于相鄰塊的原始像素來預(yù)測塊的兩個邊緣的像素,其中獲得估計的預(yù)測像素;以及在第二預(yù)測步驟中,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素來預(yù)測塊的剩余像素。
根據(jù)本發(fā)明的一個實施例,一種用于對圖像數(shù)據(jù)進行編碼的方法,所述圖像數(shù)據(jù)是以塊構(gòu)建的,該方法包括:對圖像(的至少一部分)中的每個塊,在第一預(yù)測步驟中,預(yù)測塊的兩個邊緣的像素,其中該預(yù)測基于來自原始圖像的相鄰塊的像素,并且其中獲得估計的預(yù)測像素,為估計的預(yù)測像素確定殘差數(shù)據(jù),對為估計的預(yù)測像素所確定的殘差數(shù)據(jù)進行量化和逆量化,其中獲得為估計的預(yù)測像素重構(gòu)的殘差數(shù)據(jù),重構(gòu)預(yù)測像素,其中獲得原始像素和為估計的預(yù)測像素重構(gòu)的殘差數(shù)據(jù)之間的差;在第二預(yù)測步驟中,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素來預(yù)測塊的剩余像素,確定從第一或第二預(yù)測步驟產(chǎn)生的每個預(yù)測的像素的殘差數(shù)據(jù),該殘差數(shù)據(jù)是預(yù)測的像素與其對應(yīng)的原始像素之間的差,并對殘差數(shù)據(jù)進行熵編碼。
進一步地,根據(jù)本發(fā)明另外一個實施例,一種用于對圖像數(shù)據(jù)進行編碼的裝置,所述圖像數(shù)據(jù)是以塊構(gòu)建的,所述裝置包括:第一和第二預(yù)測部件、第一和第二殘差確定部件、量化器和逆量化器部件、重構(gòu)部件以及熵編碼部件。該裝置對圖像的至少一部分中的每個塊執(zhí)行以下步驟:
在第一預(yù)測部件中,在第一預(yù)測步驟預(yù)測塊的兩個邊緣的像素,其中該預(yù)測基于來自原始圖像的相鄰塊的像素,并且其中獲得估計的預(yù)測像素;
在殘差確定部件中,為估計的預(yù)測像素確定殘差數(shù)據(jù);
在量化器和逆量化器部件中,對為估計的預(yù)測像素所確定的殘差數(shù)據(jù)進行量化和逆量化,其中獲得為估計的預(yù)測像素所重構(gòu)的殘差數(shù)據(jù);
在重構(gòu)部件中,重構(gòu)預(yù)測像素,其中獲得原始像素和為估計的預(yù)測像素所確定的殘差數(shù)據(jù)之間的差;
在第二預(yù)測部件中,在第二預(yù)測步驟,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素來預(yù)測塊的剩余像素;
在第二殘差確定部件中,確定從第一或第二預(yù)測步驟產(chǎn)生的每個預(yù)測的像素的殘差數(shù)據(jù),殘差數(shù)據(jù)是預(yù)測的像素與其對應(yīng)的原始像素之間的差;以及
在熵編碼部件中,對殘差數(shù)據(jù)進行熵編碼。
本發(fā)明的一個優(yōu)點在于,它使得能夠更快地估計重構(gòu)的預(yù)測值。另外一個優(yōu)點是,編碼器可以基于估計的預(yù)測值同時對圖像的至少一部分的所有塊進行幀內(nèi)預(yù)測,而不依賴于通過常規(guī)的順序編碼過程重構(gòu)的準確的預(yù)測值。因此,使得編碼加速。
在從屬權(quán)利要求、下面的說明書以及附圖中公開了本發(fā)明的有利實施例。
下面將參照附圖描述本發(fā)明的示例性實施例,附圖中:
圖1示出了用于當(dāng)前幀內(nèi)所有4X4塊的預(yù)測;
圖2示出了用于示例性4X4塊中相鄰塊的預(yù)測;
圖3示出了其邊界像素的4X4塊以及九種幀內(nèi)預(yù)測模式(第9種是DC模式,未示出);
圖4示出了編碼過程第一階段中的像素;
圖5示出了編碼過程第二階段中的像素;
圖6不出了被劃分成NXM個部分的巾貞,每一部分都被獨立預(yù)測;
圖7示出了編碼過程的流程圖8示出了編碼器結(jié)構(gòu)的概覽;以及
圖9示出了解碼器結(jié)構(gòu)的概覽。
具體實施方式
圖1示出了被構(gòu)建為其中每一個是4X4像素塊的視頻幀或圖像100,和用于當(dāng)前幀內(nèi)所有4X4塊的預(yù)測值110、120。該幀是幀內(nèi)預(yù)測的幀,即所有預(yù)測都根據(jù)同一幀的其它像素數(shù)據(jù)進行。用于當(dāng)前編碼幀內(nèi)所有4X4塊的預(yù)測值110、120是每個4X4塊的下邊緣和右邊緣(僅當(dāng)該邊緣具有一個相鄰塊),并用陰影示出。
更具體地,圖2示出了原始幀內(nèi)的四個4X4塊B0-B3以及BO的相鄰像素X、A_L。為了對當(dāng)前編碼幀中的所有的4X4塊進行常規(guī)的幀內(nèi)預(yù)測,需要重構(gòu)的預(yù)測值。也就是說,在常規(guī)編碼器中,預(yù)測、重構(gòu)當(dāng)前塊BO的右邊緣像素d、h、1、p,并且然后將其用來預(yù)測水平相鄰塊BI的像素。在常規(guī)的編碼器中,預(yù)測、重構(gòu)當(dāng)前塊BO的下邊緣像素m、η、ο、p,并且然后將其用來預(yù)測垂直相鄰塊Β2的像素。在AVC編碼標準中,不在位于頂部和左邊的宏塊(MB)已經(jīng)被重構(gòu)之前重構(gòu)和使用預(yù)測值。根據(jù)本發(fā)明,在對MB進行實際編碼之前通過估計生成重構(gòu)的預(yù)測值,即快速近似重構(gòu)的預(yù)測值可能作為單獨的步驟。這樣做的好處是,在對圖像進行實際編碼之前所有的預(yù)測值是同時可用的。因此,可以對圖像的至少一部分或整個圖像的一些或所有的塊同時進行也會花費較長時間的實際的幀內(nèi)預(yù)測。
取代使用重構(gòu)的預(yù)測值進行幀內(nèi)預(yù)測,本發(fā)明使用原始幀內(nèi)的相鄰像素直接進行預(yù)測。然后,例如,對圖2中的塊Β0,使用原始像素Χ、Α……L,并使用空間預(yù)測模式(例如,九種AVC空間預(yù)測模式之一)直接進行預(yù)測。
每個空間預(yù)測模式生成一預(yù)測塊。以AVC為例,根據(jù)圖3所示的九種預(yù)測模式,存在九個可能的候選預(yù)測塊Β01、Β02……Β09。在一個實施例中,對不止一個預(yù)測模式進行檢查,通過選擇具有最優(yōu)率失真的一個來確定進行預(yù)測的最佳模式。
mode=i, (i = min (error_func (B0-B0i)))(等式 I )error_func 是一種誤差測量方法。它在原理上可以是任何已知的誤差測量方法(絕對差之和SAD、絕對變換差之和SATD、均方差MSE等)。
對當(dāng)前塊BO中的預(yù)測像素m、η、O、p、d、h、1,可以根據(jù)最佳預(yù)測模式和選擇的或給定的量化參數(shù)(QP)對其重構(gòu)進行估計。以像素m為例,估計重構(gòu)m’的計算如下:
m’ =HKT1 (Q(m-mp, QP),QP)(等式2)其中Q(A,QP)意味著使用量化參數(shù)QP對值A(chǔ)的量化,Q-1 (A, QP)意味著使用量化參數(shù)QP對值A(chǔ)的逆量化,mp意味著使用最佳預(yù)測模式對m的預(yù)測值。
使用這種方式,在一個實施例中,對塊所有的預(yù)測值進行了估計。預(yù)測值是每個塊的兩個邊緣的邊緣像素。注意到,它不需要一定是塊的下邊緣和右邊緣: 它取決于可能的預(yù)測方向。使用塊的下邊緣和右邊緣像素適合于從左到右和從上到下的預(yù)測方向,例如逐行或逐列。
在下一步,使用為每個塊選取的所有最佳預(yù)測模式和估計的預(yù)測值來同時對(圖像的至少一部分的)所有4X4塊進行幀內(nèi)預(yù)測。即,編碼過程中的幀內(nèi)預(yù)測不基于重構(gòu)的像素,而是基于從原始像素獲得的估計的重構(gòu)像素。這簡化了編碼過程和編碼器,并使得其加速。
在一個實施例中,為了決定最佳的預(yù)測模式,檢查所有可能的預(yù)測模式。
然而,可以降低這種方法的復(fù)雜性。在塊BO中,將被用作估計的預(yù)測值的像素m、η、O、p、d、h和I相對地遠離其自身的預(yù)測像素X、A、B......L。因此,可以通過僅使用主預(yù)測方向以具體地對m、n、o、p、d、h和I進行預(yù)測來做出下述估計而簡化模式選擇。在簡化的模式選擇中,僅使用DC模式、垂直幀內(nèi)預(yù)測模式和水平幀內(nèi)預(yù)測模式估計m、o、p、d、h和I。然后,計算這些像素和估計的像素之間的預(yù)測誤差ERR0RDe、ERR0RVOT、ERR0RhOT。ERROR函數(shù)可以是任何已知的誤差測量函數(shù)(SAD、SATD、MSE等)。使用等式(2)從所有的主方向中選擇最小的ERROR來估計重構(gòu)的預(yù)測值。
為了對塊剩余的像素進行幀內(nèi)預(yù)測,使用估計的預(yù)測值基于所有允許的預(yù)測模式進行幀內(nèi)預(yù)測。例如,可以使用上面所示的九種AVC幀內(nèi)預(yù)測模式。應(yīng)該注意的是,用于估計預(yù)測值的幀內(nèi)預(yù)測模式及相應(yīng)的模式選擇在原理上獨立于用于對所有像素進行實際幀內(nèi)預(yù)測的幀內(nèi)預(yù)測模式及相應(yīng)的模式選擇。因此,可以使用估計的預(yù)測值同時預(yù)測所有的4X4 塊。
下面,將更詳細地 描述編碼過程。編碼是一個具有兩個階段的過程。
編碼過程的第一階段如圖4所示。在第一步驟中,從原始圖像的相鄰塊的像素A-L預(yù)測每個塊的下邊緣像素1^、n0, O0, P0和右邊緣像素屯、V 10, p0O可以使用與進行常規(guī)的幀內(nèi)編碼所用相同的模式預(yù)測最左邊或最上邊的塊的邊緣像素,如DC模式,因為這些塊沒有左邊或上邊的相鄰塊。在第一階段的結(jié)束時,如圖4b)所示,估計了(圖像中應(yīng)用了加速的幀內(nèi)預(yù)測的至少該部分的)所有塊的所有預(yù)測值。因此,在對任何塊進行實際編碼之前,每個塊在可用的兩個方向上(圖4中為左和上方向)的相鄰塊中具有估計的預(yù)測值。由于估計的預(yù)測值是從原始圖像的像素預(yù)測的,因此這是可能的。
在第二步驟中,其可以被視為第一階段或第二階段的一部分或單獨的中間階段,確定估計的預(yù)測值和它們的原始像素之間的殘差,例如m-mp、n-np等。然后,將這些殘差量化和逆量化,以使它們更相似于將在解碼器處可用的預(yù)測值。根據(jù)Q-1 (Q(m-mp, QP),QP),Q—HQO1-rvQPhQP)等,將產(chǎn)生(圖像中所涉及的部分的)所有塊的重構(gòu)的預(yù)測值殘差。然后,根據(jù)等式(2)計算這些塊中每一個的實際估計的預(yù)測值m’、n’……。
在第一階段的結(jié)束時并且在量化和逆量化之后,估計了(圖像中應(yīng)用了加速的幀內(nèi)預(yù)測的至少該部分的)所有塊的所有預(yù)測值。因此,每個塊在兩個相鄰的塊中具有估計的預(yù)測值,如圖4b所示。加速的幀內(nèi)預(yù)測可以同時應(yīng)用于圖像的一個或多個部分。其它部分可以使用其它的例如常規(guī)的幀內(nèi)預(yù)測。例如,常規(guī)的幀內(nèi)預(yù)測可以應(yīng)用于感興趣區(qū)域(R0I),而根據(jù)本發(fā)明的加速的幀內(nèi)預(yù)測可以用于圖像的剩余部分。
編碼過程的第二階段如圖5所示。它包括基于從第一階段產(chǎn)生的預(yù)測像素來預(yù)測和重構(gòu)剩余像素,即除了預(yù)測像素之外的像素。在步驟3,使用幀內(nèi)預(yù)測來預(yù)測塊B3的像素a3、b3……k3,該幀內(nèi)預(yù)測使用相鄰塊B0、B1和B2的實際估計的預(yù)測像素。詳細地說,使用以下估計的預(yù)測值:來自左上相鄰(即鄰近的)塊BO的,來自上相鄰塊BI的下邊緣像素m’ rp’ i,以及來自左相鄰塊B2的右邊緣像素d’ 2、h’ 2、1’ 2、p’ 2。在另一個實施例中,根據(jù)預(yù)測方向,相鄰塊的上邊緣、下邊緣、左邊緣和右邊緣像素的任何組合都可以被用作預(yù)測值。
在步驟4,如圖5所示,塊B3預(yù)測的剩余像素七也……k3以及所述塊的原始像素A3、B3……K3被用來確定所述塊的預(yù)測殘差A(yù)3, MS、B3, ……K3, MS。然后,與通常所做一樣,對預(yù)測殘差進行熵編碼。
由于估計的預(yù)測值與常規(guī)的順序幀內(nèi)編碼使用的準確的預(yù)測值稍有不同,因此通過這兩種方法產(chǎn)生的已編碼圖像數(shù)據(jù)也稍有不同。換言之,編碼器和解碼器并未使用完全相同的預(yù)測值,這是因為編碼器使用估計的預(yù)測值,而解碼器使用常規(guī)的重構(gòu)預(yù)測值。然而,編碼器和解碼器不同的預(yù)測值是如此相似以至于這個差異在圖像中是不可見的。已經(jīng)發(fā)現(xiàn),本發(fā)明所采用的基于估計的預(yù)測值進行的簡化預(yù)測不僅更快而且計算量更少,而且在質(zhì)量方面也能得出比期望的更好的結(jié)果。
本發(fā)明的實施例至少包括以下:
在一個實施例中,一種對數(shù)據(jù)圖像進行編碼的方法,所述圖像數(shù)據(jù)以塊構(gòu)建,所述方法包括以下步驟:
對圖像的至少一部分中的每個塊,在第一預(yù)測步驟中預(yù)測塊的兩個邊緣的像素,其中該預(yù)測基于來自原始圖像的相鄰塊的像素,并其中獲得估計的預(yù)測像素;
確定估計的預(yù)測像素的殘差數(shù)據(jù);
對所確定的估計的預(yù)測像素的殘差數(shù)據(jù)進行量化和逆量化,其中根據(jù) QP), QP)獲得重構(gòu)的估計的預(yù)測像素的殘差數(shù)據(jù);
重構(gòu)預(yù)測像素,其中根據(jù)m’=H1-GT1 (Q(m-mp,QP),QP)獲得原始像素和重構(gòu)的估計的預(yù)測像素的殘差數(shù)據(jù)之間的差;
在第二預(yù)測步驟中,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素來預(yù)測塊的剩余像素;
確定從第一或第二預(yù)測步驟產(chǎn)生的每個預(yù)測的像素的殘差數(shù)據(jù),該殘差數(shù)據(jù)是預(yù)測的像素和其對應(yīng)的原始像素之間的差;并對該殘差數(shù)據(jù)進行熵編碼。
在用于編碼的方法的一個實施例中,同時對圖像的至少兩個塊并行執(zhí)行第二預(yù)測步驟,同時對圖像的至少兩個塊并行執(zhí)行確定殘差數(shù)據(jù)的步驟。由于使用原始像素值,塊之間沒有相互依賴的問題,因此這是可能的。
在用于編碼的方法的一個實施例中,同時對圖像的至少兩個塊并行執(zhí)行第一預(yù)測步驟。由于在第一預(yù)測步驟使用原始像素值,塊之間沒有相互依賴的問題,因此這是可能的。
在用于編碼的方法的一個實施例中,第一預(yù)測步驟進一步包括從給定的一組空間幀內(nèi)預(yù)測模式中為每個估計的預(yù)測像素確定最佳預(yù)測模式。
在用于編碼的方法的一個實施例中,給定的一組空間幀內(nèi)預(yù)測模式包括DC模式、水平預(yù)測模式和垂直預(yù)測模式。在用于編碼的方法的一個實施例中,給定的一組空間幀內(nèi)預(yù)測模式僅由DC模式、水平預(yù)測和垂直預(yù)測組成。
在用于編碼的方法的一個實施例中,圖像被構(gòu)建成至少兩個部分,其中同時并且獨立地對圖像的至少兩個部分并行地執(zhí)行該方法。
在用于編碼的方法的一個實 施例中,圖像的至少一個部分不是方形的,其中如果存在不止一個部分,那么所有部分具有相同的形狀和相同量的塊。
在一個實施例中,一種對圖像數(shù)據(jù)進行解碼的方法,所述圖像數(shù)據(jù)以塊構(gòu)建并且具有至少兩個部分,所述方法包括以下步驟:
獨立地并且同時在圖像的所有部分中,根據(jù)接收到的像素數(shù)據(jù)來重構(gòu)塊的像素;
根據(jù)所述重構(gòu)的塊的像素或根據(jù)重構(gòu)的相鄰塊的像素來預(yù)測塊內(nèi)的像素;以及
基于接收到的殘差數(shù)據(jù)重構(gòu)預(yù)測的像素。
在一個實施例中,一種用于圖像數(shù)據(jù)進行編碼的裝置,所述圖像數(shù)據(jù)以塊構(gòu)建,所述裝置包括:第一和第二預(yù)測部件、第一和第二殘差確定部件、量化器和逆量化器、重構(gòu)部件以及熵編碼部件,其中該裝置對圖像的至少一部分中的每個塊執(zhí)行以下步驟:
在第一預(yù)測部件中,在第一預(yù)測步驟預(yù)測塊的兩個邊緣的像素,其中該預(yù)測基于來自原始圖像的相鄰塊的像素,并且其中獲得估計的預(yù)測像素;
在殘差確定部件中,確定估計的預(yù)測像素的殘差數(shù)據(jù);
在量化器和逆量化器中,對確定的估計的預(yù)測像素的殘差數(shù)據(jù)進行量化和逆量化,其中根據(jù)(Τ(9(πι-πιρ,QP), QP)、(Τ(0(η-ηρ),……獲得重構(gòu)的估計的預(yù)測像素的殘差數(shù)據(jù);
在重構(gòu)部件中,重構(gòu)預(yù)測像素m’,其中根據(jù)m’ =H1-GT1 (Q (m_mp,QP),QP)、η’......獲得原始像素和重構(gòu)的估計的預(yù)測像素的殘差數(shù)據(jù)之間的差;
在第二預(yù)測部件中,在第二預(yù)測步驟,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素來預(yù)測塊的剩余像素;
在第二殘差確定部件中,確定從第一或第二預(yù)測步驟產(chǎn)生的每個預(yù)測的像素的殘差數(shù)據(jù),所述殘差數(shù)據(jù)是預(yù)測的像素和其對應(yīng)的原始像素之間的差;以及在熵編碼部件中,對殘差數(shù)據(jù)進行熵編碼。
在一個實施例中,該編碼裝置進一步包括至少第二組第二預(yù)測部件和殘差確定部件,其中在至少兩個第二預(yù)測部件中同時對圖像的至少兩個塊并行執(zhí)行第二預(yù)測步驟,并且在至少兩個殘差預(yù)測部件中同時對該圖像的至少兩個塊并行執(zhí)行確定殘差數(shù)據(jù)的步驟。
在一個實施例中,編碼裝置進一步包括至少兩個第一預(yù)測部件,其中在該至少兩個第一預(yù)測部件中同時對圖像的至少兩個塊并行執(zhí)行第一預(yù)測步驟。
在編碼裝置的一個實施例中,第一預(yù)測裝置包括預(yù)測模式選擇器,用于從給定的一組空間幀內(nèi)預(yù)測模式中為每個估計的預(yù)測像素確定最佳預(yù)測模式。
在編碼裝置的一個實施例`中,圖像被構(gòu)建成至少兩個部分,并且該裝置同時并且獨立地為圖像的至少兩個部分并行地工作。
對大部分上述實施例來說,可以產(chǎn)生的數(shù)據(jù)流進行常規(guī)的解碼。然而,在圖像被分割成若干部分的情形中,獨立地并且因此同時并行地對每個部分進行解碼也是可能的。在一個實施例中,如圖9所示,涉及一種用于解碼圖像數(shù)據(jù)的裝置:該裝置用于解碼圖像數(shù)據(jù),所述圖像數(shù)據(jù)是以塊構(gòu)建的并且具有至少兩個獨立的部分,所述裝置包括解碼器數(shù)據(jù)接收部件DDR、解碼器像素重構(gòu)部件DPR以及解碼器像素預(yù)測部件DPP。在解碼器數(shù)據(jù)接收部件DDR接收到像素數(shù)據(jù)、預(yù)測模式數(shù)據(jù)和殘差數(shù)據(jù)之后,該裝置對圖像的所有部分獨立地并且同時執(zhí)行以下步驟:在解碼器像素重構(gòu)部件DPR中,基于接收到的像素數(shù)據(jù)來重構(gòu)像素;在解碼器像素預(yù)測部件DPP中,根據(jù)所述重構(gòu)的塊的像素或根據(jù)重構(gòu)的相鄰塊的像素來預(yù)測塊內(nèi)的像素;以及進一步地在解碼器像素重構(gòu)部件DPR中,基于重構(gòu)的預(yù)測值和接收到的殘差數(shù)據(jù)來重構(gòu)預(yù)測的像素。為了并行解碼,可以在解碼器中使用兩組或更多組解碼器像素重構(gòu)部件DPR和解碼器像素預(yù)測部件DPP。
在上述示例性實施例中,使用4X4的幀內(nèi)預(yù)測作為示例。明顯地,可以將相同的機制無縫地應(yīng)用于其它幀內(nèi)預(yù)測,例如16X16幀內(nèi)預(yù)測。通常地,塊的處理與它在MB中的相對位置無關(guān)。
在編碼裝置或解碼裝置的一個實施例中,圖像的至少一部分不是方形的,并且如果存在不止一個部分,那么所有部分具有相同的形狀和相同量的塊。
上面描述的不同的實施例可以被組合起來使用。例如,將圖像劃分成不止一個部分并同時處理這些部分則對預(yù)測質(zhì)量具有最小的可測量影響。使用具有有限組的預(yù)測方向的估計的預(yù)測值產(chǎn)生最大的性能改進。因此,根據(jù)不同的要求和條件選擇已公開特征的不同組合是可能的。
進一步地,可以將本構(gòu)思的精神延伸至設(shè)計一種高效的環(huán)路濾波器實施方式,其中可以使用上面描述的方法來預(yù)測待濾波的像素值。同樣地,使用并行的幀內(nèi)預(yù)測模式判定的任何產(chǎn)品可以利用上面描述的特征。
將要理解的是,已經(jīng)單純通過示例的方式對本發(fā)明進行了描述,可以在不偏離本發(fā)明范圍的情況下對細節(jié)進行若干修改。雖然這里已經(jīng)展示、描述并指出了在應(yīng)用于其優(yōu)選實施例時本發(fā)明的最基本的新穎的特征,但是應(yīng)該理解的是,本領(lǐng)域的技術(shù)人員可以在不偏離本發(fā)明的精神的情況下對已描述的設(shè)備和方法、公開的裝置的形式和細節(jié)以及其運行做出各種減省、替換和更改。盡管已經(jīng)關(guān)于AVC公開了本發(fā)明,但是本領(lǐng)域的技術(shù)人員也知道在此描述的方法和裝置可以應(yīng)用于任何使用幀內(nèi)預(yù)測的編碼標準。其明確的意圖在于,那些以實質(zhì)上相同的方式執(zhí)行實質(zhì)上相同的功能以獲得相同結(jié)果的元件的所有組合都在本發(fā)明的范圍內(nèi)。將一個已描述的實施例中的若干元件替換為另外一些也被本發(fā)明所涵蓋和設(shè)想。
可以獨立地或以任何合適的組合的方式提供說明書、(如果合適時)權(quán)利要求書和附圖中公開的每個特征??梢栽诤线m時將特征實施為硬件、軟件或兩者的組合。出現(xiàn)在權(quán)利要求書中的參考標號僅用作說明,對權(quán)利要求的范圍不具有限制性影響。
權(quán)利要求
1.一種對圖像數(shù)據(jù)進行編碼的方法,所述圖像數(shù)據(jù)是以塊構(gòu)建的,所述方法包括以下步驟:對圖像的至少一部分中的每個塊, -在第一預(yù)測步驟中,預(yù)測塊的兩個邊緣的像素,其中所述預(yù)測基于來自原始圖像的相鄰塊的像素(X,A-D,并且其中獲得估計的預(yù)測像素(dp,hp, lp, mp, np, op, pp); -為估計的預(yù)測像素確定殘差數(shù)據(jù)(m_mp); -對為估計的預(yù)測像素所確定的殘差數(shù)據(jù)進行量化(Q)和逆量化(Q—1),其中根據(jù) QP), QP)獲得為估計的預(yù)測像素所重構(gòu)的殘差數(shù)據(jù); -重構(gòu)預(yù)測像素U’),其中根據(jù)m’ =H1-Q-1 (Q (m-mp, QP),QP)獲得原始像素和為估計的預(yù)測像素所重構(gòu)的殘差數(shù)據(jù)之間的差; -在第二預(yù)測步驟中,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素(P’。,d’ 2, h’ 2,I’ 2, p’ 2,m’..., p’ ^ 來預(yù)測塊的剩余像素(a3, b3,...,k3); -確定從第一或第二預(yù)測步驟產(chǎn)生的每個預(yù)測的像素的殘差數(shù)據(jù),該殘差數(shù)據(jù)是預(yù)測的像素與其對應(yīng)的原始像素之間的差;以及 -對該殘差數(shù)據(jù)進行熵編碼。
2.如權(quán)利要求1所述的方法,其中同時對圖像的至少兩個塊并行執(zhí)行所述第二預(yù)測步驟,并且同時對圖像的至少兩個塊并行執(zhí)行確定殘差數(shù)據(jù)的步驟。
3.如權(quán)利要求1或2所述的方法,其中同時對圖像的至少兩個塊并行執(zhí)行所述第一預(yù)測步驟。
4.如權(quán)利要求1-3任一項所述的方法,其中所述第一預(yù)測步驟進一步包括從給定的一組空間幀內(nèi)預(yù)測模式中為每個估計的預(yù)測像素(dp,hp,lp,mp,np,op,Pp)確定最佳預(yù)測模式。
5.如權(quán)利要求4所述的方法,其中所述給定的一組空間幀內(nèi)預(yù)測模式包括DC模式、水平預(yù)測和垂直預(yù)測。
6.如權(quán)利要求4或5所述的方法,其中所述給定的一組空間幀內(nèi)預(yù)測模式僅由DC模式、水平預(yù)測和垂直預(yù)測組成。
7.如權(quán)利要求1-6中任何一項所述的方法,其中所述圖像被構(gòu)建成至少兩個部分,其中同時地并且獨立地對圖像的至少兩個部分并行執(zhí)行所述方法。
8.如權(quán)利要求1-7中任何一項所述的方法,其中所述圖像的至少一個部分不是方形的,并且其中如果存在不止一個部分,那么所有部分具有相同的形狀和相同量的塊。
9.一種對圖像數(shù)據(jù)解碼的方法,所述圖像數(shù)據(jù)是以塊構(gòu)建的并且具有至少兩個部分,該方法包括以下步驟:獨立地并且同時地在圖像的所有部分中, -根據(jù)接收到的像素數(shù)據(jù)重構(gòu)塊的像素; -根據(jù)重構(gòu)的塊的像素或根據(jù)重構(gòu)的相鄰塊的像素來預(yù)測塊內(nèi)的像素;以及 -基于接收到的殘差數(shù)據(jù)重構(gòu)預(yù)測的像素。
10.一種用于對圖像數(shù)據(jù)進行編碼的裝置,所述圖像數(shù)據(jù)是以塊構(gòu)建的,所述裝置包括: -第一和第二預(yù)測部件(P1, P2); -第一和第二殘差確定部件(RD1, RD2); -量化器(Q)和逆量化器(Q—1); -重構(gòu)部件(RE);以及-熵編碼部件(EC); 其中所述裝置對圖像的至少一部分中的每個塊執(zhí)行以下步驟: -在第一預(yù)測部件中,在第一預(yù)測步驟預(yù)測塊的兩個邊緣的像素,其中所述預(yù)測基于來自原始圖像的相鄰塊的像素(X,A-L),并且其中獲得估計的預(yù)測像素(dp, hp, lp, ΠΙρ, Πρ, Op, pp); -在第一殘差確定部件中,確定估計的預(yù)測像素的殘差數(shù)據(jù)(m-mp); -在量化器(Q)和逆量化器(Q-1)中,對為估計的預(yù)測像素所確定的的殘差數(shù)據(jù)進行量化和逆量化’其中根據(jù)^⑷化-!^』 )』 )獲得估計的預(yù)測像素的重構(gòu)的殘差數(shù)據(jù); -在重構(gòu)部件(RE)中,重構(gòu)預(yù)測像素(m’),其中根據(jù)m’ =IrKT1 (Q(m-mp, QP),QP)獲得原始像素和為估計的預(yù)測像素所重構(gòu)的殘差數(shù)據(jù)之間的差; -在第二預(yù)測部件(P2)中,在第二預(yù)測步驟,根據(jù)預(yù)測的至少相鄰塊的預(yù)測像素(P’。,d’ 2, h’ 2,I’ 2, p’ 2,m’..., p’ ^ 預(yù)測塊的剩余像素(a3, b3,...,k3); -在第二殘差確定部件(RD2)中,確定從第一或第二預(yù)測步驟產(chǎn)生的每個預(yù)測的像素的殘差數(shù)據(jù),該殘差數(shù)據(jù)是預(yù)測的像素與其對應(yīng)的原始像素之間的差;以及 -在熵編碼部件(EC)中,對殘差數(shù)據(jù)進行熵編碼。
11.如權(quán)利要求10所述的裝置,進一步包括至少第二組第二預(yù)測部件(P2,P2’)和第二殘差確定部件(RD2,RD2’),其中在至少兩個第二預(yù)測部件中同時對圖像的至少兩個塊并行執(zhí)行第二預(yù)測步驟,并且在至少兩個殘差預(yù)測部件中同時對圖像的至少兩個塊并行執(zhí)行確定殘差數(shù)據(jù)的步驟。
12.如權(quán)利要求10或11所述的裝置,進一步包括至少兩個第一預(yù)測部件(P1,P/),其中在至少兩個第一預(yù)測部件中同時對圖像的至少兩個塊并行執(zhí)行第一預(yù)測步驟。
13.如權(quán)利要求10-12中任何一項所述的裝置,其中所述第一預(yù)測部件包括預(yù)測模式選擇器(PS,PS’), 用于從給定的一組空間幀內(nèi)預(yù)測模式中為每個估計的預(yù)測像素(dp, hp, lp, mp, np, op, pp)確定最佳預(yù)測模式。
14.如權(quán)利要求10-12中任何一項所述的裝置,其中所述圖像被構(gòu)建成至少兩個部分,并且其中所述裝置同時并且獨立地對圖像的至少兩個部分并行地工作。
15.如權(quán)利要求10-14中任何一項所述的裝置,其中所述圖像的至少一部分不是方形的,并且其中如果存在不止一個部分,那么所有部分具有相同的形狀和相同量的塊。
全文摘要
已經(jīng)做出若干嘗試以試圖改進視頻編碼和解碼過程中的幀內(nèi)預(yù)測的性能,這些嘗試都針對于像素級的并行化。然而,現(xiàn)有技術(shù)的方法未能提供在并行處理平臺上實施改進的幀內(nèi)預(yù)測方法的解決方案。本發(fā)明使用估計的預(yù)測值來替代使用重構(gòu)的準確的預(yù)測值。這使得更快地估計預(yù)測值成為可能,并允許編碼器對同時圖像的至少一部分中的所有塊進行幀內(nèi)預(yù)測。公開了一種編碼圖像數(shù)據(jù)的方法、一種編碼圖像數(shù)據(jù)的裝置、一種解碼圖像數(shù)據(jù)的方法和一種解碼圖像數(shù)據(jù)的裝置。
文檔編號H04N7/26GK103141091SQ201080067620
公開日2013年6月5日 申請日期2010年6月21日 優(yōu)先權(quán)日2010年6月21日
發(fā)明者楊繼珩, 張輝 申請人:湯姆遜許可公司