專利名稱:編碼器內的數據傳送方法
技術領域:
本發明涉及將數據編碼和/或解碼的基于變換的方法。更具體地來說,本發明涉及在編碼器或解碼器內不同功能單元之間傳送數據塊。
背景技術:
基于變換的編碼方法常用于數字信號處理。一般應用于視頻壓縮技術和設備,例如ISO運動圖像專家組(MPEG)和國際電信聯盟(ITU)的H26標準。可以利用這些視頻壓縮技術的典型設備包括數字視頻記錄設備和播放設備,例如可攜式攝像機。
基于變換的編碼器包括多個不同的功能單元,例如包括變換單元、量化單元、掃描單元、逆向量化單元、逆向掃描單元和逆向變換單元。這些單元可以硬件或軟件的形式實施。現有編碼器和相關解碼器存在的問題是編碼器和解碼器內不同功能單元之間需要大量內部通信。此通信需求具有相應的處理和功耗需求。
因此,本發明的目的是提供一種可降低通信要求的改進的編碼和/或解碼方法。
發明概述因此,本發明的第一實施例提供一種用于從基于變換的編碼器或解碼器內的第一功能單元向所述編碼器或解碼器內的第二功能單元傳送至少一個數據塊的方法,所述至少一個數據塊包含行列結構的數據系數,其特征在于所述方法包括下列步驟通過刪除一個或多個行和/或列的冗余數據系數來縮減所述至少一個數據塊的尺寸以生成尺寸縮減了的數據塊,并將尺寸縮減了的數據塊從第一功能單元傳送給第二功能單元。
本發明的基本思想是在解碼或編碼方案中設法僅在各功能單元之間傳送數據塊的笛卡爾邊界框(Cartesian bounding box)內的非零系數。通過縮減所傳送的數據塊的尺寸,帶寬可用于執行其它硬件實現任務。此外,縮減數據塊確保對數據塊傳送及編碼器各后續單元中數據塊后續處理的要求較低。通過減少通信和計算量,可以相應降低硬件或軟件實現方案中的功率要求。這對于電池使用壽命至關重要的便攜式設備(例如攝像機)尤其有利。
在本發明的一種變型中,縮減所述至少一個數據塊尺寸的步驟可包括將只具有基本為零系數的行和/或列標識為冗余數據。可將尺寸縮減了的數據塊的維數傳送給第二功能單元。
在本發明的另一種變型中,縮減所述至少一個數據塊尺寸的步驟可以通過刪除預定邊界外的系數來實現。
本發明還提供一種基于變換的編碼器或解碼器單元,它適于將包含行列結構的數據系數的至少一個數據塊傳送給編碼器或解碼器的第二功能單元;所述編碼器或解碼器單元包括用于通過刪除一個或多個行和/或列的基本為零系數來縮減所述至少一個數據塊的尺寸以生成尺寸縮減了的數據塊的裝置,以及將尺寸縮減了的數據塊傳送給第二功能單元的裝置。
縮減所述至少一個數據塊尺寸的裝置可以通過選擇預定邊界內的系數來實現。或者,用于縮減所述至少一個數據塊尺寸的裝置可適配成可將只具有基本為零系數的行和/或列標識為冗余數據。編碼器或解碼器單元可適配成可將尺寸縮減了的數據塊的維數傳送給第二功能單元。
本發明還擴展到數字視頻記錄系統,該系統包括用于獲取視頻圖像的輸入設備、用于對所獲取的視頻圖像進行編碼的上述基于變換的編碼器以及用于輸出所獲取的編碼圖像的輸出設備。
本發明還擴展到數字視頻播放系統,該系統包括適于接收編碼視頻的圖像設備、用于對所述編碼視頻進行解碼的上述解碼器以及用于輸出解碼視頻的輸出解碼器。
下面參考如下所述的實施例,闡明本發明的上述和其它方面。
附圖簡介下面將參考附圖詳細說明本發明
圖1是基于變換的編碼方案的示意圖;圖2是基于變換的解碼方案的示意圖;圖3顯示一個數據塊內的非零系數邊界框;圖4說明根據本發明的方法;圖5是采用圖1的編碼方案的示范系統;圖6是采用圖2的解碼方案的示范系統;圖7說明利用本發明方法可獲得的計算量縮減;以及圖8說明利用本發明方法可獲得的計算量縮減,其中含有失配比特。
本發明的詳細說明基于變換的編碼器1(如圖1所示)通常包括變換單元3、量化單元4、掃描單元5、逆向量化單元7和逆向掃描單元8。編碼器的各單元可以單獨或以組合形式用軟件和/或硬件來實施。這些類型的編碼器可見于數字視頻記錄設備如數字攝像機中。
變換單元3(此單元在所示示范編碼器中為基于離散余弦變換(DCT)的變換單元)將輸入的空間系數數據塊2轉換成對應的頻率系數數據塊2,即將輸入數據從空間域轉換到頻域。如圖5所示,輸入的空間數據塊可由相關的輸入設備40,例如數字攝像機的CCD陣列和相關電路提供。數字視頻在編碼器1中編碼之后,可以輸出到相應的輸出設備42,例如磁存儲器或半導體存儲器。在將輸入數據從空間域轉換到頻域之后,DCT單元3將得到的頻率系數數據塊傳送給量化單元4。每個數據塊個體可被識別為具有行列結構數據系數的笛卡爾塊或矩陣。
人對圖像中噪聲的感知率不是均勻的,而是與空間頻率成函數關系。頻率越高,可以容忍的噪聲也越多。編碼器通過對較低頻率進行比較高頻率更精確的變換來利用這一點。這種變換操作主要由量化單元4來執行,量化單元4對從DCT單元3接收到的數據塊中的不同頻率系數應用不同的加權。較低頻率的系數受到更多重視,因此被賦予比較高頻率系數更大的加權。應用了加權之后,可以將低值系數截取為零。然后將所得的加權頻率分量數據塊傳送給掃描單元5。
該掃描單元接收到的結果數據塊通常具有相當多的零值系數。如果先發送幾乎所有非零系數,隨后發送指示剩余系數均為零的代碼,則可以實現更高效的編碼器數據塊傳送。掃描單元5通過將系數按幅值出現概率的降序順序排序提高取得此結果的概率。因此,例如在非隔行系統中,確信45度的之字形掃描可以取得最佳效果。
量化單元4輸出的量化頻率數據塊還可以傳送給逆向量化單元7,此單元應用的加權系數基本上為量化器4中所用加權值的逆。但是,因為量化器4中四舍五入誤差和低值系數截取等原因,所得到的數據塊不可能是提供給量化器4的頻率數據塊的精確拷貝。從逆向量化器7得到的數據塊被傳送給逆向變換單元8,此單元在所示示例中為DCT單元,它將數據塊從頻域轉換回空間域。因此,逆向量化器和逆向變換單元提供對原始輸入數據的重建估計。這種重建估計可用于臨時編碼目的。
用于將上述編碼器編碼的數據解碼的對應解碼器10(如圖2所示)包括逆向掃描單元12、逆向變換單元15和逆向量化單元14。與編碼器一樣,各單元可以單獨或以組合形式用軟件和/或硬件來實現。這些類型的解碼器通常可見于數字視頻播放設備,例如數字攝像機的播放部分。
輸入的頻率系數數據塊11由逆向掃描單元12處理以執行前述掃描的逆處理過程。
從逆向掃描單元12得到的頻率數據塊被傳送給逆向量化單元14,此單元應用的加權系數基本上為編碼器的量化器4所用加權值的逆。從逆向量化器得到的數據塊被傳送給逆向變換單元15如逆向DCT單元,它將數據塊從頻域轉換回空間域。因此,解碼器根據編碼的數據提供對原始圖像數據的重建估計。此重建估計隨后可以從解碼器10輸出到輸出設備52,如圖6所示。輸出設備可以是例如LCD顯示設備。解碼器從相應的輸入設備50接收輸入,所述相應輸入設備可以是存儲器讀取設備,例如磁帶讀取器。
原理上,所述功能單元之間傳送的數據粒度基于數據塊(例如采用8×8個系數的塊尺寸)。因此,將各圖像幀分割成若干塊,每塊對應于圖像幀的不同區域。一旦圖像數據分割成塊,則在編碼器/解碼器各內部單元之間以塊的形式傳送圖像數據。
更詳細地檢驗系數塊(即含有頻域數據的塊),會發現一般只有塊的一部分被填充以非零系數。這些非零系數“固有地趨于”集中在塊的左上角(即低頻率),如圖3中8×8塊23中非零系數的邊界框21所示。再者,(編碼時)量化之后,塊被非零系數覆蓋的區域只會(非常可能)小得多,如圖3中的箭頭所示。應理解,非零系數的邊界框21的實際尺寸可能因不同的塊而有所不同。
如圖3中的大量零值22所示,各功能單元之間相當多的通信開銷用于處理數量不定的零值系數。在本發明中,利用非零系數集中在數據塊的特定區域21內的這種固有趨向性來減少編碼器和/或解碼器內各功能單元之間的通信工作量。這種通信工作量的減少是通過在將各數據塊傳送給編碼器/解碼器內的下一功能單元之前,減少各數據塊的尺寸以生成尺寸縮減了的數據塊來實現的。
如圖4所示,在本發明的第一示范實施例中(下文稱為可變塊尺寸(VBS)方法),縮減第一功能單元中的至少一個數據塊尺寸的步驟包括標識數據塊的冗余行和/或列,即只具有基本為零系數的行或列的初始步驟。隨后可將這些確定的冗余數據(零值)行和/或列從數據塊中刪除,以生成尺寸縮減了的數據塊。因此,在圖3所示的示范性8×8數據塊示例中,底部兩行和右手邊四列將作為冗余數據被刪除,而得到具有四列和六行的尺寸縮減了的數據塊21。
生成尺寸縮減了的數據塊之后,可以將其傳送給編碼器內的第二功能單元。因為減少了傳送的數據量,所以也就減少了通信及相關計算量。數據塊縮減可以在編碼器的下列一個或多個功能單元中執行變換單元、量化單元和/或逆向量化單元。
如果在變換單元3中執行數據塊縮減,則第二(后續)功能單元是量化單元4。在由逆向量化器7執行數據塊縮減操作的實例中,第二功能單元是編碼器的逆向變換單元8。在數據塊縮減操作在量化單元4中執行的情況中,可將縮減后的數據塊傳送給掃描單元5和/或逆向量化單元7,即在這種情況下,第二單元可以包括掃描單元和/或逆向掃描單元。
在上述示范方法中,功能單元之間只傳送非零系數邊界框21內的系數。應該注意的是,邊界框的區域可隨數據塊不同而有所不同,因此所得到的縮減數據塊的尺寸也會隨數據塊不同而有所不同。
為了成功地處理縮減數據塊中的系數數據,可能需要將縮減數據塊的維數傳送給后續功能單元。
以上方法的識別冗余數據的效能成本合算的實現方案對兩個方向上的所有系數使用簡單的“或”運算,然后確定兩個結果中的最高有效位的值,從而得到邊界尺寸為2的冪次方(1、2、4或8),由此識別哪些行/列是冗余的。邊界框的維數,即列和行的數量可以利用例如查找表編碼成兩個兩比特值。這種實現方案非常簡單,但可能導致傳送只含有零值系數的列和/或行。
可以采用比較運算來實現一種給出實際非零邊界框的更為完善的實現方案。在本例(針對8×8的數據塊)中,行和列的數量可以利用兩個三比特值傳送給后續功能單元。
雖然上述的VBS方法引入了可變塊維數形式的某些額外通信開銷,但此開銷與通信工作量的減少相比很小。再者,通信和計算量的減少及相應的電力節省會因數據不同而有所變化。但平均而言,達到了降低功耗的目的。此外,所述示范方法到此為止都是無損式的。與現有技術不縮減數據塊尺寸的方法中一樣,編碼方案的有損部分實質上在對各數據系數進行量化的量化級中。
現在描述本發明的第二示范實施例,此實施例可能在編碼器/解碼器中增加損失,并因此降低圖像質量,但不同于第一實施例,其(減少的)通信和計算量是可預測的。
在此第二示范實施例中,縮減數據塊的維數是預先確定的。因此,邊界框邊界的維數不會隨數據塊不同而不同。在此實施例中,通過刪除邊界框的邊界以外的系數的行和列來刪除冗余數據,從而得到縮減的數據塊。此方法的一個缺點是,可能導致丟掉非零系數(非冗余數據),并因此增加損失或不必要地包括零值系數的行/列(冗余數據)。但是,此實施例的優點是邊界框的維數無需在各功能單元之間傳送,因為該維數在系統內通常是已知的。邊界框的邊界維數可以利用例如統計分析來預先確定。
上述方法也可以在解碼器中實施。不過,在這種情況下,可以在解碼器的逆向掃描單元12或逆向量化單元14中執行縮減數據塊尺寸和傳送縮減了尺寸的數據塊的操作。如果縮減數據塊的操作在逆向掃描單元12中執行,則第二(后續)功能單元是逆向量化單元14。如果縮減數據塊的操作在逆向量化單元14中執行,則第二(后續)功能單元是逆向變換單元15。
就功能單元內部計算量而言,所述方法也具有優點。減少計算量可以利用有關非零系數的邊界框的維數的信息來實現。具體來說,可以取消或減少接收功能單元中涉及在前一功能單元所接收的縮減數據塊之外的零值系數的計算。重用已經計算得到的信息尤其對軟件實現非常有利。
現在將描述減少計算量的一種可行示范方法。這種減少計算量的示范方法適于在執行逆向DCT(iDCT)時在編碼器或解碼器的逆向變換單元中采用,具體來說,可以通過執行兩次一維iDCT而將一個二維iDCT函數分解,結果如圖7所示,例如先對數據塊的列執行一次一維iDCT 70,得到數據塊71,其中列的維數擴展為正常數據塊的全長;然后對每行執行一次一維iDCT,從而得到完整大小的數據塊72。還可以采用如下替代方案,即對數據塊的行執行第一次一維iDCT,然后再對列執行一次一維iDCT。
在采用本發明的縮減數據塊尺寸的方法時,可以在一個方向(即列或行)上執行一維iDCT,執行次數與可變數據塊的兩個維數中的最小者相同,然后在另一個方向上執行8次iDCT(對于8×8的標準塊尺寸)。
在諸如(逆向)量化和掃描的功能單元中,VBS方法的優點在于不需要評估和/或計算不傳送的零系數。
另一方面,在應用VBS方法時需要計算非零系數的邊界框的維數。在解碼方案中,可以容易地將這種計算步驟結合于逆向掃描算法中,而逆向量化之后邊界框仍然保持不變。在編碼器方案中,可以在執行DCT之后計算(刪除冗余的行/列)邊界框。量化之后,邊界框可能變得更小,因此還可以進一步調整邊界框的尺寸,即進一步刪除冗余數據。
試驗結果已經表明,利用本發明的方法可以節省超過30%的通信工作量。
試驗結果還表明,先對列執行一維iDCT可節省大約14%的計算量,而先對行執行一維iDCT則可節省大約11%的計算量。為理解這一點,注意非零系數邊界框的“固有”維數,即垂直維數平均大于水平維數。因此,先對列執行一維iDCT通常更少的計算量。
已經知道,對兩個以不同方式實現的解碼級的重建可能在時間上發散,因為它們各自的iDCT設計會不時對稍微不同的數據塊進行重建。在MPEG標準中,通過稱為“失配控制”的技術來減少不同iDCT算法之間的偏差。失配控制可消除統計上對各種方法之間的失配具有最大影響的位模式(bit pattern)。
失配控制可以多種方式實現。MPEG-2標準采用稱為“LSB切換”的方法,這種方法可降低解碼器之間的失配概率。LSB切換只影響逆向量化后第63個AC DCT系數(F[7][7])(DCT矩陣中的最高頻率)的最低有效位(LSB)。下面將以數學形式闡明該切換運算,但概括地說,就是將數據塊中的所有重建系數(F’[v][u])相加,如果所有重建系數之和為偶數,則通過加上或減去一個比特來切換系數F[7][7]的LSB,加減具體取決于重建的第63個AC DCT(F’[7][7])的值是偶數還是奇數。
sum=Σv=0v<8Σu=0u<8F′[v][u],]]>F[v][u]=F′[v][u],對于除u=v=7以外的所有u,v 由于在解碼級內執行失配控制,數據塊內的最高頻率系數常常等于1,同時數據塊的大部分被填充以零。當應用所述VBS方法時,仍需要傳送8×8的整個數據塊。但是,可以采用多種不同的方式來避免出現這種情況,包括采用如下方式1.在iDCT單元內執行失配控制。通過在iDCT單元內執行失配控制(在iDCT計算之前、期間或之后),而不是在逆向量化結束時執行,可以充分地利用縮減數據塊尺寸的優點。
2.將數據塊的失配控制比特從逆向量化單元傳送給iDCT單元。此方案的優點在于較第一種方法節省了計算量,因為在逆向量化過程中易于計算DCT系數和。傳送的失配控制比特隨后可用于確保失配控制。
3.不執行失配控制。因為失配控制對結果數據只有很小的直觀影響,建議可以完全省略該步驟。
為觀察不在MPEG-2解碼器中執行失配控制的影響而進行的試驗的結果表明,無論是否執行失配控制,從解碼器得到的數據基本相同。但是,在量化級執行失配控制的情況下,計算量減少只接近從量化級省去失配控制的相同方法所減少的計算量的一半。正如預計的那樣,不執行失配控制對通信工作量有非常大的影響。
當在iDCT級執行失配控制時,對計算量的影響取決于所選的執行失配控制的方式。如果完全不執行失配控制或在iDCT之后執行,則會大大減少計算量(減少程度與通信工作量相當)。如果在執行iDCT之前進行,則用于執行兩次一維iDCT的計算量保持不變,但例外是在將對第8列81或行執行iDCT與對其它非零列80或行執行iDCT分開考慮時,如圖8所示。這樣,可能需要額外執行一次一維iDCT(如果設置了“失配控制比特”的話)。
但應理解,對第8列執行垂直iDCT可能并非必要,因為所得值是已知的常數向量,它對其所有8個元素都是非零的。這樣可以通過該常數向量加上后續水平iDCT的(最后一個)參數來執行iDCT運算。
注意,本文中提供的方案都是功能性的框圖,不蘊含任何體系結構實現。在實際的硬件實現方案中,這些功能可以分布到多個硬件單元(例如協處理器)上或組合成一個硬件單元。
在本發明中,用語“包括”和“具有/含有”用于指明所述特征、結構、步驟或部件的存在,但不排除存在或添加一個或多個其它特征、結構、步驟、部件或它們的組合。
權利要求
1.一種用于從基于變換的編碼器或解碼器內的第一功能單元向所述編碼器或解碼器內的第二功能單元傳送至少一個數據塊的方法,其中所述至少一個數據塊包含行列結構的數據系數,其特征在于所述方法包括下列步驟通過刪除一個或多個行和/或列的冗余數據系數來縮減所述至少一個數據塊的尺寸以生成尺寸縮減了的數據塊,并將尺寸縮減了的數據塊從所述第一功能單元傳送給所述第二功能單元。
2.如權利要求1所述的傳送至少一個數據塊的方法,其特征在于縮減所述至少一個數據塊尺寸的步驟包括將只具有基本為零系數的行和/或列標識為冗余數據。
3.如權利要求2所述的方法,其特征在于將所述尺寸縮減了的數據塊的維數傳送給所述第二功能單元。
4.如權利要求1所述的方法,其特征在于所述縮減所述至少一個數據塊尺寸的步驟通過刪除預定邊界外的系數來實現。
5.一種基于變換的編碼器或解碼器單元,適于將包含行列結構的數據系數的至少一個數據塊傳送給所述編碼器或解碼器的第二功能單元;它包括通過刪除一個或多個行和/或列的基本為零系數來縮減所述至少一個數據塊的尺寸,以生成尺寸縮減了的數據塊的裝置;以及將所述尺寸縮減了的數據塊傳送給所述第二功能單元的裝置。
6.如權利要求5所述的基于變換的編碼器或解碼器單元,其特征在于用于縮減所述至少一個數據塊尺寸的裝置通過選擇預定邊界內的系數來實現。
7.如權利要求5所述的基于變換的編碼器或解碼器裝置,其特征在于用于縮減所述至少一個數據塊尺寸的裝置適于將只具有基本為零系數的行和/或列標識為冗余數據。
8.如權利要求7所述的基于變換的編碼器或解碼器裝置,其特征在于所述裝置適于將所述尺寸縮減了的數據塊的維數傳送給所述第二功能單元。
9.一種數字視頻記錄系統,它包括輸入裝置,用于獲取視頻圖像;如權利要求5至8中任意一項所述的基于變換的編碼器,用于對所獲取的視頻圖像編碼;以及輸出裝置,用于輸出所獲取的編碼圖像。
10.一種數字視頻播放系統,它包括適于接受編碼視頻圖像的圖像裝置;如權利要求5至8中任何一項所述的解碼器,用于對所述編碼視頻解碼;以及輸出裝置,用于輸出所述解碼視頻。
全文摘要
基于變換的編碼器常用于數據信號處理領域。本發明涉及一種用于從基于變換的編碼器或解碼器內的第一功能組件(3、4、7、12、14)向所述編碼器或解碼器內的第二功能組件(4、5、7、8、14、15)傳送至少一個數據塊的方法,其中數據塊包括行列結構的數據系數。編碼器和解碼器的各個組件之間產生大量的通信工作。本發明的目的在于減少此類工作量,方法是通過消除(31)一個或多個行和/或列的實質為零值的系數來縮減所述至少一個數據塊的大小以生成縮減了大小的數據塊,并將縮減了大小的數據塊傳送(32)到所述第二功能組件,從而在解碼或編碼方案中的各個不同功能單元之間只傳送數據塊的笛卡爾邊框內的非零系數。
文檔編號H04N7/26GK1672426SQ03818480
公開日2005年9月21日 申請日期2003年7月16日 優先權日2002年8月6日
發明者E·B·范德托, G·J·赫克史特拉, E·-J·D·波爾, J·T·J·繁埃恩霍文 申請人:皇家飛利浦電子股份有限公司