專利名稱:視頻編碼的空間預測技術(shù)的制作方法
技術(shù)領域:
本發(fā)明涉及圖像編碼的一般領域。本發(fā)明更具體地涉及編碼圖像塊的方法和解碼圖像塊的方法。
背景技術(shù):
在現(xiàn)有技術(shù)中眾所周知,編碼圖像序列的一個圖像是將這個圖像劃分成像素塊,然后通過空間預測(INTRA模式)或時間預測(INTER模式)編碼每個塊。編碼當前塊一般包含通過,例如,當前塊的像素與預測塊的像素之間的差值(difference)的DCT (離散余弦變 換)變換成系數(shù)塊。該編碼進一步包含量化系數(shù),然后熵編碼量化的系數(shù)。在現(xiàn)有技術(shù)中眾所周知,以INTRA模式,即,通過空間預測編碼當前塊是從以前編碼的空間鄰近(neighbouring)塊的圖像數(shù)據(jù)中預測當前塊。例如,在H. 264視頻編碼標準中眾所周知,從處在當前塊上面或當前塊左邊的像素中預測當前塊。更具體地說,當前塊的像素通過線性組合按照優(yōu)選預測方向(例如,水平、垂直等)與當前塊鄰近的像素來預測。預測像素,即,線性組合當前塊的鄰近像素所得的預測像素形成預測塊。當待預測的當前塊包含輪廓時,這種預測方法尤其有效。事實上,如果一個對象的邊緣對應于按H. 264標準定義的預測方向之一時,該輪廓事實上以單向方式在待預測的當前塊中擴展。但是,當存在二維結(jié)構(gòu)時,這種預測方法喪失了其效率。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的至少一個缺點。為此,本發(fā)明涉及通過空間預測編碼叫做當前塊的像素塊的方法。按照本發(fā)明的編碼方法包含如下步驟-通過利用當前閾值對應用在至少覆蓋當前塊的像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的每個像素確定預測像素;-從當前塊中提取由預測像素形成的預測塊以生成殘差塊;以及_編碼殘差塊。有利的是,從當前塊的鄰近重構(gòu)像素中確定或編碼該當前閾值。在從當前塊的鄰近重構(gòu)像素中確定或編碼該當前閾值中,提高了編碼效率。按照一個特定實施例,利用多個閾值的每個閾值重復為當前塊的每個像素確定預測像素的步驟。該方法還包含從多個閾值當中選擇在當前塊與預測塊之間計算的預測誤差最小的閾值作為當前閾值。按照本發(fā)明的一個特定方面,通過與預測閾值的差值編碼當前閾值,該預測值取決于當前塊的鄰近重構(gòu)像素。按照特定特性,該預測閾值等于用在當前塊的鄰近塊中的閾值的平均值。按照第一變型,該預測閾值等于用在當前塊的鄰近塊中的閾值的中值。按照第二變型,該預測閾值按照如下步驟確定-通過利用閾值對應用在至少覆蓋重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素;-利用多個閾值的每個閾值重復為鄰近區(qū)域的每個像素確定預測像素的步驟;以及-從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為預測閾值。按照另一實施例,該當前閾值按照如下步驟確定-通過利用閾值對應用在至少覆蓋重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素;-利用多個閾值的每個閾值重復為鄰近區(qū)域的每個像素確定預測像素的步驟;以 及-從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為當前閾值。有利的是,對于當前塊的鄰近區(qū)域的每個重構(gòu)像素,在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差考慮它們相對于當前塊的邊緣的距離。按照本發(fā)明的另一個方面,當為尺寸8X8的當前塊選擇了當前閾值時,通過將選擇的當前閾值乘以嚴格小于I的系數(shù)α,為當前塊的尺寸4X4的每個塊計算當前閾值。有利的是,窗口的尺寸取決于待預測的像素在當前塊中的位置。本發(fā)明還涉及通過空間預測解碼像素的當前塊的方法,其包含如下步驟-解碼殘差塊;-通過利用當前閾值對應用在至少覆蓋當前塊的像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的每個像素確定預測像素;以及-通過合并解碼的殘差塊和由預測像素形成的預測塊重構(gòu)所述當前塊。有利的是,從當前塊的鄰近重構(gòu)像素中確定該當前閾值。按照一個特定實施例,該當前閾值按照如下步驟確定-通過利用閾值對應用在至少覆蓋重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素;-利用多個閾值的每個閾值重復為鄰近區(qū)域的每個像素確定預測像素的步驟;以及-從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為當前閾值。按照另一個特定實施例,按照本發(fā)明的解碼方法還包含如下步驟-解碼閾值的差值;-從當前塊的鄰近重構(gòu)像素中確定預測閾值;以及-計算該差值與該預測閾值之和,該和值是當前閾值。有利的是,該預測閾值按照如下步驟確定-通過利用閾值對應用在至少覆蓋重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素;-利用多個閾值的每個閾值重復為鄰近區(qū)域的每個像素確定預測像素的步驟;以及
-從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為預測閾值。
通過參考附圖借助決不是限制性的實施例和有利實現(xiàn)方式,可以更好地理解和例示本發(fā)明,在附圖中-圖I示出了按照本發(fā)明的編碼方法;-圖2示出了包含待預測塊和用于預測這個塊的窗口的圖像部分;-圖3和4詳細示出了按照本發(fā)明的編碼方法的步驟;-圖5和6示出了包含待預測塊和用于預測這個塊的不同窗口的圖像部分; -圖7示出了包含待預測塊、與這個塊鄰近的因果帶Zc和用于預測這個因果帶的像素的窗口的圖像部分;-圖8示出按照本發(fā)明的解碼方法;-圖9例不了按照本發(fā)明的編碼設備;以及-圖10示出了按照本發(fā)明的解碼設備。
具體實施例方式圖像包含每一個與至少一項圖像數(shù)據(jù)相關(guān)聯(lián)的像素或圖像點。一項圖像數(shù)據(jù)是,例如,一項亮度數(shù)據(jù)或一項色度數(shù)據(jù)。術(shù)語“殘差”表示提取了其它數(shù)據(jù)之后獲得的數(shù)據(jù)。該提取一般是從源像素中減去預測像素。但是,該提取更一般,尤其包含加權(quán)相減。術(shù)語“重構(gòu)”表示將殘差與預測數(shù)據(jù)合并之后獲得的數(shù)據(jù)(例如,像素、塊)。該合并一般是殘差預測像素之和。但是,該合并更一般,并且尤其包含加權(quán)相加。重構(gòu)塊是重構(gòu)像素的塊。關(guān)于圖像解碼,術(shù)語“重構(gòu)”和“解碼”經(jīng)常用作同義。因此,“重構(gòu)塊”也表示在“解碼塊”的術(shù)語下。本發(fā)明涉及通過空間預測編碼叫做當前塊的像素塊的方法。它應用于圖像或圖像序列的編碼。按照本發(fā)明的編碼方法基于描述在如下文獻中的外推信號的方法Guleryuz, O. G.,標題為"Nonlinear approximation based image recovery usingadaptive sparse reconstructions and iterated denoising〃,Image Processing, IEEETransactions卷15,3期,2006年3月頁539-571。這種外推方法最初用于掩蔽(masking)錯誤的目的。下面參考圖I描述按照本發(fā)明編碼圖像的當前塊的方法。在步驟10期間,為當前塊的每個像素確定預測像素。預測像素形成當前塊的預測塊。預測像素是通過利用當前閾值對應用在至少覆蓋待預測的當前塊的像素的窗口上的變換所得的系數(shù)加閾(thresholding)獲得的。該窗口對應于變換的支持。使用的變換是,例如,DCT。但是,本發(fā)明不局限于后者。也可以應用像離散傅立葉變換那樣的其它變換。按照本發(fā)明,從當前塊的鄰近重構(gòu)像素中確定或編碼當前閾值。在從當前塊的鄰近重構(gòu)像素中確定或編碼當前閾值時,提高了編碼效率。
在步驟12期間,從當前塊中提取由預測像素形成的預測塊以生成殘差塊。在步驟14期間,將殘差塊編碼在流S中。例如,通過,例如,DCT或小波變換將殘差塊變換成系數(shù)塊,其被量化然后通過熵編碼被編碼。按照一種變型,只量化然后通過熵編碼編碼殘差塊。下面參考圖2和3更精確地描述確定預測像素的步驟10。在圖2中,預測像素pQ,Q對應于待預測的當前塊B的左上方上的像素。在圖2中用叉號標識的像素是已知像素,即,重構(gòu)像素。預測像素P"以便將代表其環(huán)境的值賦予它。窗口 F在其初始位置Ftlitl上至少覆蓋待預測的像素Pm。在步驟10中就是 在這個窗口上應用變換。在步驟100期間,對像素Pu指定初始值。作為一個簡單例子,將來自鄰近像素的平均值指定給像素Po』。將這個值表示成Pav(l,。Pav0,0=(a+b+c)/3o按照一種變型,將像素a、b和c的中值指定給像素pQ,Q。按照另一變型,將值a、b或c之一指定給像素pQ,Q。按照其它變型,考慮處在像素P。,。的因果鄰近區(qū)域中的其它像素,以為像素P。,。確定初始值。當前像素的因果鄰近區(qū)域包含在編碼(相應地解碼)當前像素期間已經(jīng)重構(gòu)的當前圖像的像素組。在步驟110期間,將變換應用于窗口 F的像素。然后將這些像素變換成系數(shù)。在步驟120期間,使用閾值th。#在變換域中對系數(shù)加閾。這種加閾具有消除噪聲以便只保留有意義系數(shù)的作用。在步驟130期間,應用在步驟110中應用的變換的逆變換以返回到像素域,以便恢復表示成/Ct的新預測像素值,零值的大于的索引對應于窗口 F的行和列相對于該窗口的初始位置的零偏移。參考圖4和5,利用窗口 F偏移應用與參考圖3所描述的方法相同的方法,以為當前塊B的其它像素確定預測像素。重復地(iteratively)預測像素Ptltl到Pn-^115相對于圖3中的窗口 F的位置Ftlμ將窗口向右偏移I個像素,以便確定與當前塊正好在像素pQ,Q右邊的像素相對應的預測像素P?!?。在圖5中,a、b和c是分別處在待預測的像素Ptu的左邊、上面和對角上的像素Ptu的鄰近重構(gòu)像素,其中,更具體地說,在當前情況下,a等于以前內(nèi)插的像素P=O的值。按照一種變型,將位置Ftlitl上的窗口向右偏移2個像素,即,偏移到位置\2。在該情形中,在第二重復中,預測像素P。,!和P?!?。更一般地說,可以以m個像素將窗口 F偏移m個像素。為了不使預測過于降級,m的值保持較小是有利的。在步驟100期間,將來自鄰近像素的平均值指定給Pcu,例如,該值是(/4%+ + 0/3。將這個值表示成尤L。也可以應用在步驟100中參考像素Ptltl所描述的變型。在步驟110期間,將變換應用于窗口 Fcu的像素。然后將這些像素變換成系數(shù)。在步驟120期間,利用閾值th。#在變換域中對系數(shù)加閾。這種加閾具有消除噪聲以便只保留有意義系數(shù)的作用。在步驟130期間,應用在步驟110中應用的變換的逆變換返回到像素域,以便恢復表示成的新預測像素值,大于的索引對應于窗口 F偏移了 O行和I列。如圖5所示,像素Pcici包含在位置Fcu上的窗口 F中。因此,在計算預測像素Pcu期間,也為像素Pcici計算新值。事實上,在逆變換期間,將值ML指定給像素Po,這個值可以不同于在窗口F沒有偏移時的在前重復(窗口在Ftl C1位置上)中計算的那個。為了考慮為像素Pd,ο計算的兩個值,即,在窗口 F零偏移的在前重復中獲得的那個/^.1;^和在偏移O行和I列的當前重復中獲得的,將新值指定給預測像素P。,。。表示成的這個新值等于,例如,兩個值C和C的平均值,即,PiLm = (Ptio + Λ°ο,ο)/2。重復該方法直到塊B的所有像素都得到預測。為此,在步驟140期間,驗證當前像素是否是待預測塊的最后像素。如果是這種情形,則終止確定預測塊的步驟。在相反的情形下,如果在當前行中仍然存在待預測的像素,則將窗口 F向右偏移一列,或?qū)⒋翱?F向下偏移一行 ,以便再次將窗口放置在行的開始。但是,在每次重復時偏移窗口F的方式不是固定的。它取決于為待預測塊定義的掃描次序。參考前圖,像素的掃描從左到右逐個像素然后逐行地進行。這種掃描不是排他的,鋸齒型掃描以及像,例如,先第I行然后第I列,接著第2行然后第2列等等的掃描那樣的其它類型也是可能的。對窗口的新位置再次應用步驟100到140。為待預測的新像素psk,sl確定值。也為在以前重復期間已經(jīng)計算了預測值或多個預測值的當前塊包含在窗口 F中的像素計算新預測值。對于這些像素,如上面參考像素Ptici所描述,以如下方式確定新預測值^,;=ΣΣ (P^fiisk-k + Disl-l + l)),
P=k q=l其中,- 是在與窗口 F的位置Fstsl相對應的重復期間在待預測塊的第k行和第I列中預測的像素;-sk和Si :分別是窗口 F的行和列的偏移;是通過將窗口 F相繼偏移到位置Fstsl遞歸預測的位置(k,I)中的預測像素的值。按照一種變型,用中值函數(shù)或直方圖峰型函數(shù)取代加權(quán)和。
q=!..sl按照第一實施例,從因果帶Zc,S卩,包含當前塊B的鄰近區(qū)域中的重構(gòu)像素,但未必與這個塊相鄰,確定閾值th。#。這個實施例參考圖7來描述。在這個圖7中,叉號表示重構(gòu)像素?;疑尘吧系牟嫣柋硎緦儆谝蚬麕c的像素。這個帶Zc用于為待預測的當前塊確定閾值。為此,將參考圖4和5所描述的方法應用于這個帶Zc的像素,以便為它們當中的每一個確定預測像素以及針對幾個閾值thi確定這個預測像素。因此,針對每個閾值thy在帶Zc上計算能量級(energy level)。作為一種簡單例示,這個能量將按照如下公式計算
2SSE,= X(Y(P)-PiM),
P^ZC其中,-P代表包含在塊中的像素的位置;-Y是待預測的當前塊中的像素的一項圖像數(shù)據(jù)(例如,亮度和/或色度)的值;-pInt是針對閾值也確定的預測值。
對于帶Zc,將閾值thz。確定為生成最小預測能量SSEi的那個。按照一種變型,按如下計算能量
權(quán)利要求
1.一種通過空間預測編碼叫做當前塊的像素塊的方法,其包含如下步驟 -通過利用當前閾值對來自應用在至少覆蓋所述當前塊的所述像素的窗口上的變換的系數(shù)加閾,和通過應用于所述加閾系數(shù)的逆變換,為所述當前塊的每個像素確定(10)預測像素; -從所述當前塊中提取(12)由預測像素形成的預測塊以生成殘差塊; 以及 -編碼(14)所述殘差塊, 所述方法的特征在于從當前塊的鄰近重構(gòu)像素中確定或編碼所述當前閾值。
2.按照權(quán)利要求I所述的方法,其中利用多個閾值的每個閾值重復為所述當前塊的每個像素確定預測像素的步驟,該方法進一步包含從多個閾值當中選擇在當前塊與預測塊之間計算的預測誤差最小的閾值作為當前閾值。
3.按照權(quán)利要求2所述的方法,其中通過與預測閾值的差值編碼所述當前閾值,該預測值取決于當前塊的鄰近重構(gòu)像素。
4.按照權(quán)利要求3所述的方法,其中所述預測閾值等于用在所述當前塊的鄰近塊中的閾值的平均值。
5.按照權(quán)利要求3所述的方法,其中所述預測閾值等于用在所述當前塊的鄰近塊中的閾值的中值。
6.按照權(quán)利要求3所述的方法,其中所述預測閾值按照如下步驟確定 -通過利用閾值對應用在至少覆蓋所述重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于所述加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素; -利用多個閾值的每個閾值重復為所述鄰近區(qū)域的每個像素確定預測像素的所述步驟;以及 -從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為預測閾值。
7.按照權(quán)利要求I所述的方法,其中所述當前預測閾值按照如下步驟確定 -通過利用閾值對應用在至少覆蓋所述重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素; -利用多個閾值的每個閾值重復為所述鄰近區(qū)域的每個像素確定預測像素的所述步驟;以及 -從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為當前閾值。
8.按照權(quán)利要求6或7所述的方法,其中對于當前塊的鄰近區(qū)域的每個重構(gòu)像素,在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差考慮它們相對于當前塊的邊緣的距離。
9.按照權(quán)利要求2到8之一所述的方法,其中為尺寸8X8的當前塊選擇所述當前閾值,通過將選擇的所述當前閾值乘以嚴格小于I的系數(shù)α,為當前塊的尺寸4X4的每個塊計算當前閾值。
10.按照權(quán)利要求I到5之一所述的方法,其中所述窗口的尺寸取決于待預測的像素在當前塊中的位置。
11.一種通過空間預測解碼像素的當前塊的方法,其包含如下步驟 -解碼(20)殘差塊; -通過利用當前閾值對來自應用在至少覆蓋所述當前塊的所述像素的窗口上的變換的系數(shù)加閾,和通過應用于所述加閾系數(shù)的逆變換,為所述當前塊的每個像素確定(22)預測像素;以及 -通過合并所述解碼殘差塊和由所述預測像素形成的預測塊重構(gòu)(24)所述當前塊, 所述方法的特征在于從當前塊的鄰近重構(gòu)像素中確定所述當前閾值。
12.按照權(quán)利要求11所述的方法,其中所述當前預測閾值按照如下步驟確定 -通過利用閾值對應用在至少覆蓋所述重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于所述加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素; -利用多個閾值的每個閾值重復為所述鄰近區(qū)域的每個像素確定預測像素的所述步驟;以及 -從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為當前閾值。
13.按照權(quán)利要求11所述的方法,另外還包含如下步驟 -解碼閾值的差值; -從當前塊的鄰近重構(gòu)像素中確定預測閾值;以及 -計算所述差值與所述預測閾值之和,所述和值是所述當前閾值。
14.按照權(quán)利要求13所述的方法,其中所述預測閾值按照如下步驟確定 -通過利用閾值對應用在至少覆蓋所述重構(gòu)像素的窗口上的變換所得的系數(shù)加閾,和通過應用于所述加閾系數(shù)的逆變換,為當前塊的鄰近區(qū)域中的每個重構(gòu)像素確定預測像素; -利用多個閾值的每個閾值重復為所述鄰近區(qū)域的每個像素確定預測像素的所述步驟;以及 -從多個閾值當中選擇在當前塊的鄰近區(qū)域的重構(gòu)像素與相應預測像素之間計算的預測誤差最小的閾值作為預測閾值。
全文摘要
本發(fā)明涉及編碼像素塊的方法,其包含如下步驟通過利用當前閾值對應用在至少覆蓋當前塊的像素的窗口上的變換所得的系數(shù)加閾,和通過應用于加閾系數(shù)的逆變換,為當前塊的每個像素確定(10)預測像素;從當前塊中提取(12)由預測像素形成的預測塊以生成殘差塊;以及編碼(14)所述殘差塊。按照本發(fā)明,從當前塊的鄰近重構(gòu)像素中確定或編碼該當前閾值。
文檔編號H04N7/32GK102726045SQ201180007027
公開日2012年10月10日 申請日期2011年1月19日 優(yōu)先權(quán)日2010年1月25日
發(fā)明者A.馬丁, D.索羅, E.弗朗索瓦, J.維爾隆, P.波蒂斯 申請人:湯姆森特許公司