專利名稱:利用基于特征點的運動估算編碼視頻信號的方法
技術領域:
本發明涉及編碼視頻信號的方法;而更具體地涉及通過提供一個精確地預測的當前幀而能夠高效地編碼視頻信號的方法。
傳輸數字視頻信號能得到比傳輸模擬信號質量高得多的視頻圖象是眾所周知的。當以數字形式表示由一序列圖象“幀”構成的一個圖象信號時,便生成了大量用于傳輸的數據,尤其是在高分辨率電視系統的情況中。然而,由于一條傳統傳輸信道可資利用的頻帶寬度是有限的,為了通過它來傳輸大量的數字數據,不可避免地要壓縮或減少傳輸數據量。在各種視頻壓縮技術中,將時間和空間壓縮技術與統計編碼技術結合在一起的所謂混合編碼技術是已知最高效的。
大多數混合編碼技術采用運動補償的DPCM(差分脈沖編碼調制)、二維DCT(離散余弦變換)、DCT系數的量化以及VLC(可變長度編碼)。運動補償DPCM是估算一個目標在當前幀與一個前面的幀之間的運動,及按照該目標的運動流預測當前幀以生成一個表示當前幀與其預測之間的差的一個誤差信號的過程。這一方法在諸如Staffan Ericsson的“用于混合預測/變換編碼的固定與自適應預測器(Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding)”,IEEE通信學報,COM-33,第12號(1985年12月)及Ninomiya與Ohtsuka的“電視畫面的一種運動補償幀間編碼方案(A Motion-Compensated InterframeCoding Scheme for Television Pictures)”,IEEE通信學報,COM-30,第一號,(1982年1月)中有所描述。
減少或利用圖象數據之間的空間冗余性的二維DCT將諸如8×8個象素的一塊數字圖象數據轉換成一組變換系數數據。這一技術在諸如Chen與Pratt的“場景自適應編碼器(scene Adaptive Coder),IEEE通信學報,COM-32,第3號(1984年3月)中有所描述。通過用量化器、折線掃描與VLC處理這種變換系數數據,便能有效地壓縮要傳輸的數據量。
具體地,在運動補償DPCM中,當前幀數據是根據當前幀與前面的幀之間的運動估算從對應的前面的幀的數據中預測出的。這種估算的運動可用表示前面幀與當前幀之間的象素的位移的二維運動矢量來描述。
已存在兩種估算一個目標的象素的位移的基本方法其中之一為逐塊估算而另一方法則為逐個象素的方法。
在逐塊運動估算中,將當前幀中的一塊與其前一幀中的塊進行比較直到確定最佳匹配為止。從這一最佳匹配中,便能為正在傳輸的當前幀估算出該整個塊的一個幀間位移矢量(表示該塊象素在幀間移動了多少)。然而,在逐塊運動估算中,如果塊中的所有象素并不以同一方式移動,便有可能得出低劣的估算,從而降低總體畫面質量。
另一方面,采用逐個象素的方法,為各個與每一個象素確定一個位移。這種技術能夠得到象素值的更精確的估算并具有便予處理比例變化(諸如變焦、垂直于圖象平面的運動等)的能力。然而,在逐個象素方法中,由于為各個與每一個象素確定一個運動矢量,實際上不可能將所有的運動矢量數據傳輸給一臺接收機。
為改善處理逐個象素方法中導致的過多傳輸數據的問題而引入的技術之一為一種基于特征點的運動估算方法。
在基于特征點的運動估算技術中,將一組選擇的象素,即特征點,的運動矢量傳輸給一臺接收機,其中的特征點定義為能夠代表一個目標的運動的前一幀或當前幀的象素,從而使當前幀中的象素的全體運動矢量都能在接收機上從這些特征點的矢量中恢復或趨近。采用基于特征點的運動估算技術的編碼器公開在共同擁有、共同未決的美國專利申請序列號08/367,520“采用逐個象素運動估算編碼視頻信號的方法與裝置”中,其中,首先從包含在前一幀中的象素中選擇若干個特征點。然后,通過使用傳統的塊匹配技術為所選定的特征點確定運動矢量,其中各該運動矢量表示前一幀中的一個特征點與當前幀中的一個對應的匹配點,即一個最相似的象素,之間的空間位移。具體地,各該特征點的匹配點是在當前幀內的一個搜索區中搜索出的,其中的搜索區是定義為具有預定面積的包圍與前一幀中的特征點位置相對應的當前幀位置的一個區域。當前幀中與前一幀中的特征點相對應的這些象素稱作準特征點。從當前幀中的一個準特征點到前一幀中其對應的特征點的空間位移稱作該準特征點的運動矢量。
此后,根據這些準特征點的運動矢量確定當前幀中其余象素的運動矢量。具體地,將當前幀分成以這些準特征點為頂點的多邊形,諸如三角形。以將整個幀分成多邊形的方式,從各準特征點向其它準特征點畫不相交的直線。將從構成頂點的準特征點的運動矢量導出的運動矢量給予各該多邊形內部的象素。然后,用賦予當前幀中各象素的運動矢量提供要包含在一個預測的當前幀中的各象素的值。預測的當前幀便是通過將前一幀中的各對應象素的象素值賦予當前幀中的各象素而構成的。
然而,從精度觀點看,以預定方式將幀分成多邊形是不好的,因為構成一個目標的一定部分的象素的運動矢量可能是相同的,而如果將它們包括在不同的多邊形中,仍有可能將不同的運動矢量賦予這些象素。結果,將這種偽運動矢量賦予當前幀中的某些象素可導致總體編碼效果的劣化。
因此,本發明的主要目的為提供一種能通過提供一個精確地預測的當前幀而高效地編碼視頻信號的改進的視頻信號編碼方法。
按照本發明,提供了用于在一個視頻信號編碼器中根據基于特征點的運動估算技術通過提供一個精確地預測的當前幀高效地編碼數字視頻信號的方法,所述數字視頻信號具有包含一個當前幀及一個前面的幀在內的多個幀,該方法包括下述步驟(a)在前面的幀中選擇多個象素作為特征點,并為這些特征點檢測當前幀與前面幀之間的第一組運動矢量,所述特征點代表數字視頻信號中的目標的運動;(b)用連接這些特征點的線段定義不重疊的四邊形(c)通過在水平方向上分割各該四邊形而定義水平分割的三角形并計算各該水平分割的三角形的象素值的一個方差值,及比較所有水平分割的三角形的方差值以選擇最小的方差值作為第一方差值;(d)通過在垂直方向上分割各該四邊形而定義垂直分割的三角形并計算各該垂直分割的三角形的象素值的方差值,及比較所有垂直分割的三角形的方差值以選擇最小的方差值作為第二方差值;(e)比較第一與第二方差值并選擇較小的方差值作為第三方差值,及提供表示具有該第三方差值的三角形的分割方向的三角形信息;(f)根據這些特征點及其運動矢量在當前幀上確定多個準特征點及這些準特征點的第二組運動矢量;(g)定義用連接這些準特征點的線段構成的不重疊的四邊形,其中與構成前面的幀中的一個四邊形的四個特征點相對應的四個準特征點構成當前幀中的一個四邊形,以及響應三角形信息將各該四邊形分割成兩個三角形;(h)根據構成所述各三角形的準特征點與它們的對應特征點之間的位置關系,為包含在當前幀的各三角形中的各象素在前面的幀上確定一個預測位置;(i)根據象素位置與其預測位置之間的位移,為包含在當前幀的各三角形中的象素確定第三組運動矢量;以及(j)通過應用各該第二與第三組運動矢量,提供要包含在預測的當前幀中的各象素的一個值。
從下述結合附圖給出的較佳實施例的描述中,本發明的上述與其它目的及特征將是顯而易見的,附圖中
圖1示出按照本發明的視頻信號編碼裝置的方框圖;圖2示出圖1的當前幀預測框的詳細方框圖;圖3示出按照本發明的特征點選擇操作的說明圖;圖4提供前一幀中所選定的特征點的說明圖5描述圖2的三角形確定框的詳細方框圖;圖6提供展示當前幀中的若干四邊形的圖;圖7A至7C例示按照本發明的三角形分割操作;圖8描繪按照本發明的視頻信號解碼裝置的方框圖;以及圖9表示圖8中所示的當前幀預測框的詳細方框圖。
參見圖1,其中示出了按照本發明的視頻信號編碼裝置10的方框圖。將一個輸入數字視頻信號作為一個當前幀信號存儲在一個第一幀存儲器100中,存儲器100通過線L11連接在一個減法器102上并通過線L10連接在一個當前幀預測框150上。
在當前幀預測框150處,對從第一幀存儲器100檢索到的線L10上的一個當前幀信號及來自一個第二幀存儲器124的線L12上的前一幀信號進行處理,在逐個象素的基礎上預測當前幀,以將一個預測的當前幀信號生成到線L16上,將表示在生成預測的當前幀信號中采用的三角形構成的三角形信息生成到線L17上,并將特征點的一組運動矢量生成到線L18上。當前幀預測框150的細節將參照圖2與9加以描述。
在減法器102處從線L11上的當前幀信號中減去線L16上的預測的當前幀信號,并將得出的數據,即表示當前幀與預測的當前幀之間的差分象素值的誤差信號,輸送給一個圖象信號編碼器105,在其中通過采用諸如DCT及任何已知的量化方法將誤差信號編碼成一組量化變換系數。
此后,將量化變換系數傳輸給一個熵編碼器107及一個圖象信號解碼器113。在熵編碼器107處,將來自圖象信號編碼器105的量化變換系數,經由線L17傳輸的三角形信息及通過線L18傳輸的運動矢量用諸如可變長度編碼技術編碼在一起;并以一種恒定的傳輸率通過一個緩沖器109將其傳輸給一個發送機(未示出)供傳輸。同時,圖象信號解碼器113通過采用逆量化及逆離散余弦變換將來自圖象信號編碼器105的量化變換系數轉換回一個重構的誤差信號。
在一個加法器115處,將來自圖象信號解碼器113的重構的誤差信號及來自當前幀預測框150的線L16上的預測的當前幀信號進行組合,從而提供一個重構的當前幀信號,并將其存儲在第二幀存儲器124中作為下一幀的前一幀。為了使編碼器監視接收機中的解碼器的工作情況從而防止在編碼器上重構的當前幀信號偏離接收機中的解碼器的當前幀信號,重構誤差信號是必要的。
參見圖2,其中展示了圖1中所示的當前幀預測框150的細節。如圖2中所示,將來自第二幀存儲器124的線L12上的前一幀信號輸入到一個特征點選擇框210、一個特征點運動矢量檢測框212、一個三角形確定框214及一個運動補償框218。
在特征點選擇框210處,從包含在前一幀中的象素中選擇若干個特征點。這些特征點是定義為能夠代表該幀中的目標的運動的象素的。通常在特征點確定中使用了采用諸如矩形柵格或六邊形柵格等各種柵格的柵格技術,其中的特征點位于柵格的節點上。在本發明的一個較佳實施例中,與這種柵格技術一起,采用了邊緣檢測技術。參見圖3,其中為描繪在特征點選擇框210處進行的特征點選擇過程的說明圖。首先在前一幀上生成六邊形柵格,并為其中的各六邊形柵格點(諸如G1至G5)設定最大且當不重疊的園形搜索范圍(諸如SR1至SR5)。同時,用傳統的梯度算子(諸如中和算子(sobel operator))檢測前一幀中的邊緣點。例如,用水平與垂直中和算子計算方向梯度,諸如在一個象素位置(x,y)上的水平與垂直梯度Gx(x,y)與Gy(x,y),并可得出象素位置(x,y)上的梯度幅值g(x,y)如下g(x,y)=|Gx(x,y)|+|Gy(x,y)|.然后,通過將前一幀中的各象素的梯度幅值g(x,y)與一個預定的閾值Te進行比較,便可檢測出前一幀中的邊緣點。這便是,如果g(x,y)超過Te,象素位置(x,y)便成為一個邊緣點。此后,根據邊緣點的梯度幅值及表示這些邊緣點的位置的邊緣信號,便可為各該邊緣點(諸如E1至E9)建立在其中心上具有一個邊緣點的一個諸如5×5個象素的塊,這些象素塊是與搜索范圍重疊的。然后求出包含在各塊中的象素的梯度幅值之和,并將得到的和值確定為在其中心上的邊緣點的邊緣值;并選定搜索范圍中具有最大邊緣值的邊緣點作為該搜索范圍的特征點。如果一個以上的邊緣點具有相同的最大邊緣值,則選定最靠近柵格點的邊緣點作為特征點。如果在一個搜索范圍內(諸如在SR1、SR2或SR4內)找不出邊緣點,便選定包含在該搜索范圍中的柵格點本身(諸如G1、G2或G4)作為特征點。在圖4中,示例性地示出了如上選定的前一幀中的特征點,其中的圓點為選定作為特征點的柵格點,而星號則為選定作為特征點的邊緣點。
參見圖2,將來自特征點選擇框210的關于所選定的特征點的位置的特征點信息輸入到特征點運動矢量檢測框212、三角形確定框214及當前幀運動矢量檢測框216。將線L10上的當前幀信號提供給特征點運動矢量檢測框212。
在特征點運動矢量檢測框212處,檢測選定的特征點的第一組運動矢量。第一組中的各該運動矢量表示前一幀中的一個特征點與當前幀中一個與之最相似的象素之間的空間位移。為所有特征點檢測了運動矢量之后,便經由線L18將第一組運動矢量提供給當前幀運動矢量檢測框214及熵編碼器107(示出在圖1中)。
與此同時,參見圖5,三角形確定框214確定三角形構成方法如下。
將線L12上的前一幀信號及線L19上的特征點信息提供給第一與第二方差計算框511及512。在第一與第二方差計算框511與512處,通過連接諸如圖6中所示的四個鄰接的特征點而定義多個不重疊的四邊形。然后,如圖7A或7B中所示,通過在水平或垂直鄰接的特征點之間增加一條新的線段(諸如BC或AD)在水平或垂直方向上分割各該四邊形,以為各四邊形生成兩個三角形。然后,第一與第二方差計算框511與512計算各三角形中的象素值的方差值。
在本發明的較佳實施例中,第一方差計算框511通過增加圖7A中所示新線段BC而在水平方向上分割各四邊形,并為各三角形計算象素值的方差值及將其提供給第一比較框513。同時,第二方差計算框512通過增加圖7B中所示的新線段AD而在垂直方向上分割各四邊形,并為各三角形計算象素值的方差值及將其提供給第二比較框514。
第一比較框513比較來自第一方差計算框511的兩個三角形的兩個方差值,從而將較小的方差值提供給第三比較框515。第二比較框514執行與第一比較框513相同的功能。這便是,第二比較框514比較來自第二方差計算框512的兩個三角形的兩個方差值,然后將較小的方差值提供給第三比較框515。
第三比較框515比較來自第一與第二比較框513與514的兩個方差值,并選擇產生較小方差值的三角形構成方法,即四邊形的水平或垂直分割,并將這一三角形構成方法作為三角形信息提供給圖2中所示的當前幀運動矢量檢測框216及圖1中所示的熵編碼器107。三角形中的象素值的方差值越小,三角形中沒有目標或者三角形中全部象素或大多數象素屬于同一個目標的概率越大。例如,如果一個目標在圖7C中所示的水平分割三角形ABC中,則三角形BCD中的象素值的方差值為水平與垂直分割的三角形,即四個三角形ABC、BCD、ABD與ACD,中最小的。從而,第三比較框515提供表示水平分割方法的三角形信息。
應當指出,來自第一與第二方差計算框511與512的四個方差值可同時進行比較,并從中選出最小的方差值,從而提供與之對應的三角形信息。
參見圖2,當前幀運動矢量檢測框216經由線L19接收來自特征點選擇框210的特征點信息,經由線L18接收來自特征點運動矢量檢測框212的特征點運動矢量,及來自三角形確定框214的三角形信息。在當前幀運動矢量檢測框214處,確定當前幀中所有象素的運動矢量。首先,確定表示從前一幀的特征點移動了第一組運動矢量的當前幀的象素點的“準特征點”的第二組運動矢量。一個準特征點的運動矢量與其對應的特征點的運動矢量大小相等、方向相反。確定了所有的準特征點的運動矢量之后,便確定作為當前幀中的其余象素點的非準特征點第三組運動矢量如下。
用連接這些準特征點的線段定義多個不重疊的四邊形,其中與前一幀中構成一個四邊形的四個特征點相對應的四個準特征點同樣構成當前幀中的一個四邊形,并響應三角形信息,將各該四邊形分割成兩個三角形。然后,根據構成所述各三角形的準特征點和其對應的特征點之間的位置關系確定包含在當前幀的各三角形中的各象素在前一幀上的一個預測位置。此后,從該象素與其預測位置之間的位移確定包含在當前幀的各三角形中的所述各象素的一個運動矢量。同時,將不包含在任何三角形中的象素的運動矢量設定為零。這一技術在例如共同擁有、共同未決的名為“編碼/解碼視頻信號的方法與裝置”的1995年5月4日提交的08/434,808號美國專利申請中有所描述,通過引用將其整個結合在此。
運動補償框216通過應用包含在第二與第三組中的各個運動矢量從第二幀存儲器124中檢索出要包含在預測的當前幀中的各個象素值,從而經由線L16將預測的當前幀信號提供給減法器102及加法器115,如圖1中所示。在一個運動矢量的X與Y分量(即Mx與My)不是整數的情況中,可通過插入鄰接由該運動矢量指定的位置的象素的象素值而得到預測的象素值。
參見圖8,其中示出了與本發明的圖1中所示的視頻信號編碼裝置10相對應的視頻信號解碼裝置800。將視頻信號編碼裝置10發送的一個編碼的視頻信號通過緩沖器810輸送給熵解碼器820。然后,熵解碼器820解碼該編碼的視頻信號并將特征點運動矢量及三角形信息提供給當前幀預測框850;并將量化的變換系數提供給圖象信號解碼器830。圖象信號解碼器830執行與視頻信號編碼裝置10的圖象信號解碼器113相同的功能,從而將重構的誤差信號提供給加法器840。當前幀預測框850具有與圖2中所示的當前幀預測框150相似的結構,但諸如圖2中所示的特征點運動矢量檢測框212等三角形確定框及運動估算器除外,因為來自圖1中所示的編碼器10的三角形信息及特征點運動矢量是通過熵解碼器820提供給它的。當前幀預測框850包括一個特征點選擇框、一個當前幀運動矢量檢測框及一個運動補償框,它們的功能與上面對當前幀預測框150說明的功能相似。
具體地,如展示當前幀預測框850的細節的圖9中所示,來自幀存儲器860的前一幀信號被輸入到特征點選擇框952用于選擇若干個特征點,這些特征點與圖2中所示的特征點選擇框210處所選擇的特征點相同。響應來自特征點選擇框952的選定的特征點及來自熵解碼器820的特征點運動矢量及三角形信息,當前幀運動矢量檢測框954以圖2中所示的當前幀運動矢量檢測框214中相同的方式確定包含在當前幀中的所有象素的運動矢量。運動補償框956提供與來自圖2中所示的運動補償框216的信號相同的預測當前幀信號。
參見圖8,在加法器840處將來自當前幀預測框850的預測的當前幀信號及來自圖象信號解碼器830的重構的誤差信號相加,而將重構的當前幀信號提供給一個顯示單元(未示出)及幀存儲器860。在幀存儲器860處,將重構的當前幀信號作為前一幀信號存儲供解碼下一幀時使用。
雖然已相對于具體的實施例展示與描述了本發明,熟悉本領域技術的人員顯而易見可以作出許多改變與修正而仍不脫離所附的權利要求書中所定義的本發明的精神與范圍。
權利要求
1.一種用在視頻信號編碼器中的方法,用于根據一種基于特征點的運動估算技術通過提供一個精確地預測的當前幀高效地編碼一個數字視頻信號,所述數字視頻信號具有包括一個當前幀與一個前面的幀在內的多個幀,所述方法包括下述步驟(a)選擇前面幀中的多個象素作為特征點,并為當前幀與前面幀之間的特征點檢測第一組運動矢量,所述特征點代表數字視頻信號中的目標的運動;(b)用連接這些特征點的線段定義不重疊的四邊形;(c)通過在水平方向上分割各該四邊形而定義水平分割的三角形并計算各該水平分割的三角形的象素值的一個方差值,及比較所有水平分割的三角形的方差值以選擇最小的方差值作為第一方差值;(d)通過在垂直方向上分割各該四邊形而定義垂直分割的三角形并計算各該垂直分割的三角形的象素值的方差值,及比較所有垂直分割的三角形的方差值以選擇最小的方差值作為第二方差值;(e)比較第一與第二方差值并選擇較小的方差值作為第三方差值,及提供表示具有該第三方差值的三角形的分割方向的三角形信息;(f)根據這些特征點及其運動矢量在當前幀上確定多個準特征點及這些準特征點的第二組運動矢量;(g)定義用連接這些準特征點的線段構成的不重疊的四邊形,其中與構成前面的幀中的一個四邊形的四個特征點相對應的四個準特征點構成當前幀中的一個四邊形,以及響應三角形信息將各該四邊形分割成兩個三角形;(h)根據構成所述各三角形的準特征點和與其對應的特征點之間的位置關系,為包含在當前幀的各三角形中的各象素在前面的幀上確定一個預測位置;(i)根據象素位置與其預測位置之間的位移,為包含在當前幀的各三角形中的象確定第三組運動矢量;以及(j)應用各該第二與第三組運動矢量,提供要包含在預測的當前幀中的各象素的一個值。
全文摘要
精確預測當前幀的方法包括在前一幀中選擇特征點并為其檢測每一組運動矢量;連接特征點定義四邊形;分割四邊形分別定義水平和垂直分割的三角形并計算其方差及選擇最小者作為第一和第二方差值;選擇第三方差及提供分割方向的三角形信息;在當前幀上確定準特征點并為其確定第二組運動矢量;定義連接這些準特征點構成的四邊形并將其分割成兩個三角形;為三角形中的像素確定預測的位置及第三組運動矢量;應用第二與第三組運動矢量提供各像素的值。
文檔編號H04N7/32GK1131877SQ9510860
公開日1996年9月25日 申請日期1995年8月7日 優先權日1995年3月20日
發明者李敏燮 申請人:大宇電子株式會社