專利名稱:視頻編碼中殘差數(shù)據(jù)處理的控制裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼技術(shù),特別涉及一種視頻編碼中殘差數(shù)據(jù)處理的控制裝置和一種視頻編碼中殘差數(shù)據(jù)處理的控制方法。
背景技術(shù):
在視頻編碼中,通常需要將一幅圖像劃分為多個片(Slice),再將每個片劃分為多個宏塊(macroblock),對每個宏塊進(jìn)行編碼處理。
在對宏塊的編碼處理過程中,首先需要將當(dāng)前處理的宏塊與重構(gòu)后的宏塊或者其他圖像中的宏塊進(jìn)行比較,得到兩個宏塊像素點的差值,即殘差數(shù)據(jù),然后對殘差數(shù)據(jù)進(jìn)行變換、量化、Z掃描處理后,再對Z掃描后的殘差數(shù)據(jù)進(jìn)行熵編碼處理。對每個宏塊均執(zhí)行上述處理,即實現(xiàn)了對圖像的視頻編碼。
其中,Z掃描后得到的殘差數(shù)據(jù)通常為矩陣形式,包括n×n的亮度矩陣和m×m的色度矩陣,m和n均為正整數(shù)。
圖1為現(xiàn)有亮度矩陣示意圖。如圖1所示,以處理4×4的亮度矩陣為例,在進(jìn)行熵編碼處理的過程中,需要從位置15開始,按照15、14、......、0的順序,即位置15為初始位置、位置0為結(jié)束位置,逐個判斷亮度矩陣中每個位置的元素取值是否為0,如果是,則丟棄該位置的元素并直接判斷下一個位置的元素取值,如果不是,則對當(dāng)前位置的元素進(jìn)行熵編碼處理,然后再判斷下一個位置的元素取值。
然而,每個位置的判斷均需要占用一個單元時間,因此,無論每個亮度矩陣或色度矩陣中包括多少非0取值的元素及非0取值元素如何分布,判斷過程需要n2或m2個單元時間。
可見,判斷元素取值占用了大量的單元時間,使得殘差數(shù)據(jù)處理的效率較低,進(jìn)而使得視頻編碼的效率也不高。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的一個主要目的在于,提供一種視頻編碼中殘差數(shù)據(jù)處理的控制裝置,能夠提高殘差數(shù)據(jù)處理的效率。
本發(fā)明的另一個主要目的在于,提供一種視頻編碼中殘差數(shù)據(jù)處理的控制方法,能夠提高殘差數(shù)據(jù)處理的效率。
根據(jù)上述的一個主要目的,本發(fā)明提供了一種視頻編碼中殘差數(shù)據(jù)處理的控制裝置,包括位置確定單元和位置輸出單元,其中,所述位置確定單元的輸出端與所述位置輸出單元的輸入端相連;所述位置確定單元,接收Z掃描后的殘差數(shù)據(jù);根據(jù)殘差數(shù)據(jù)包括的矩陣中每個位置的元素取值,順序在每一個單元時間確定第一跳位置及每一跳位置對應(yīng)的下一跳位置;所述位置輸出單元,從第一跳位置開始,順序在每一個單元時間輸出與所述位置確定單元在上一個單元時間所確定的每一跳位置對應(yīng)的控制信號。
如果元素取值為0,則確定該元素對應(yīng)的位置為第一跳位置或下一跳位置。
如果矩陣中初始位置的元素取值不為0,則確定的第一跳位置為初始位置。
如果矩陣中所有位置的元素取值均為0,則確定第一跳位置及每一跳位置對應(yīng)的下一跳位置均為結(jié)束位置。
所述位置確定單元的輸入端,與視頻編碼電路中Z掃描單元的輸出端相連;所述位置輸出單元將每一跳位置對應(yīng)的控制信號輸出給所述視頻編碼電路中的Z掃描單元,用于所述Z掃描單元依次將殘差數(shù)據(jù)中與控制信號對應(yīng)位置的元素向熵編碼單元輸出。
所述位置確定單元的輸入端,與視頻編碼電路中Z掃描單元的輸出端相連;所述位置輸出單元將每一跳位置對應(yīng)的控制信號輸出給視頻編碼電路中熵編碼單元,用于所述熵編碼單元依次對殘差數(shù)據(jù)中與所述控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理。
所述矩陣為n×n的矩陣,n為正整數(shù);所述位置確定單元包括選擇器1~選擇器m,其中,m等于n2-1;選擇器1包括兩個輸入端,其中一個接收位置序號0,另一個接收位置序號1,當(dāng)位置1的元素取值為0時,所述選擇器1的輸出端輸出位置序號0,當(dāng)位置1的元素取值不為0時,所述選擇器1的輸出端輸出位置序號1;選擇器j包括兩個輸入端,其中一個與選擇器j-1的輸出端相連,另一個接收位置序號j,其中,j為正整數(shù),取值范圍為2~m;當(dāng)位置j的元素取值為0時,選擇器j的輸出端輸出選擇器j-1的輸出端的輸出結(jié)果;當(dāng)位置j的元素取值不為0時,選擇器j的輸出端輸出位置序號j。
所述選擇器m的輸出結(jié)果為第一跳位置;選擇器1~選擇器m-1的輸出結(jié)果分別為位置1~位置m-1對應(yīng)的下一跳位置。
如權(quán)利要求7所述的控制裝置,其特征在于,所述n×n的矩陣為4×4的亮度矩陣。
所述n×n的矩陣為2×2的色度矩陣;所述控制裝置進(jìn)一步包括補0單元,對所述色度矩陣補0使得所述色度矩陣的大小與4×4的亮度矩陣的大小相同,并將補0后的色度矩陣輸出給所述位置確定單元。
根據(jù)上述的另一個主要目的,本發(fā)明提供了一種視頻編碼中殘差數(shù)據(jù)處理的控制方法,包括接收Z掃描后的殘差數(shù)據(jù);
根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定第一跳位置;跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理,并根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定下一跳位置;繼續(xù)執(zhí)行所述跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理,并根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定下一跳位置,直至跳至結(jié)束位置。
所述根據(jù)元素取值確定第一跳位置為如果元素取值為0,則確定該元素對應(yīng)的位置為第一跳位置;所述根據(jù)元素取值確定下一跳位置為如果元素取值為0,則確定該元素對應(yīng)的位置為下一跳位置。
如果矩陣中初始位置的元素取值不為0,則確定的第一跳位置為初始位置。
如果矩陣中所有位置的元素取值均為0,則確定第一跳位置及每一跳位置對應(yīng)的下一跳位置均為結(jié)束位置。
所述跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理包括視頻編碼電路中的Z掃描單元依次將殘差數(shù)據(jù)中與控制信號對應(yīng)位置的元素向視頻編碼電路中的熵編碼單元輸出;視頻編碼電路中的熵編碼單元對接收到的元素進(jìn)行熵編碼處理。
所述跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理包括視頻編碼電路中的Z掃描單元將殘差數(shù)據(jù)中的所有元素向視頻編碼電路中的熵編碼單元輸出;視頻編碼電路中熵編碼單元依次對殘差數(shù)據(jù)中與所述控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理。
所述矩陣包括亮度矩陣和色度矩陣;所述根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定第一跳位置之前,進(jìn)一步包括對色度矩陣補0,使得所述色度矩陣的大小與所述亮度矩陣的大小相同。
由上述技術(shù)方案可見,在進(jìn)行熵編碼之前,先判斷出第一個非0取值元素的位置,并直接跳至該位置進(jìn)行熵編碼處理;在處理當(dāng)前位置的非0取值元素的同時,判斷下一個非0取值元素的位置,然后在當(dāng)前位置處理結(jié)束后直接跳至判斷出的下一個位置進(jìn)行熵編碼處理,從而在對每個非0取值的元素進(jìn)行熵編碼處理之前,不需等待一個單元時間的判斷周期,從而提高了殘差數(shù)據(jù)處理的效率,進(jìn)而提高了視頻編碼的效率。
通過各種簡單邏輯電路實現(xiàn)非0取值元素位置的判斷,成本較低,也易于實現(xiàn);能夠?qū)Σ煌笮〉木仃囃ㄟ^補0的方式統(tǒng)一為相同大小的矩陣,具有較高的通用性。
圖1為現(xiàn)有亮度矩陣示意圖。
圖2為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置的示例性結(jié)構(gòu)圖。
圖3為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置中的位置確定單元的結(jié)構(gòu)示意圖。
圖4a和4b為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制實例示意圖。
圖5為本發(fā)明實施例一中殘差數(shù)據(jù)處理的控制裝置結(jié)構(gòu)圖。
圖6為本發(fā)明實施例二中殘差數(shù)據(jù)處理的控制裝置結(jié)構(gòu)圖。
圖7為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制方法流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明的基本思想是先判斷出第一個非0取值元素的位置,并直接跳至該位置進(jìn)行熵編碼處理;在處理當(dāng)前位置的非0取值元素的同時,判斷下一個非0取值元素的位置,然后在當(dāng)前位置處理結(jié)束后直接跳至判斷出的下一個位置進(jìn)行熵編碼處理。
圖2為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置的示例性結(jié)構(gòu)圖。如圖2所示,本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置包括位置確定單元和位置輸出單元,位置確定單元的輸出端與位置輸出單元的輸入端相連。
位置確定單元,接收Z掃描后的殘差數(shù)據(jù);根據(jù)殘差數(shù)據(jù)包括的矩陣中,每個位置的元素取值是否為0,順序在每一個單元時間確定第一跳位置及每一跳位置對應(yīng)的下一跳位置。
其中,如果初始位置的元素取值不為0,則確定的第一跳位置即為初始位置;如果所有位置的元素取值均為0,則確定第一跳位置及每一跳位置對應(yīng)的下一跳位置均為結(jié)束位置。
位置輸出單元,從第一跳位置開始,順序在每一個單元時間輸出與位置確定單元在上一個單元時間所確定的每一跳位置對應(yīng)的控制信號。
上述裝置中,在熵編碼開始前的一個單元時間內(nèi)或熵編碼處理過程的第一個單元時間內(nèi)先確定第一跳位置,并在熵編碼處理過程的第一個單元時間輸出對應(yīng)的控制信號,同時判斷下一跳位置,并在下一個單元時間輸出下一跳位置對應(yīng)的輸出信號,以此類推。
這樣,即可根據(jù)位置輸出單元輸出的控制信號對非0取值元素進(jìn)行熵編碼,而不需在熵編碼的過程中逐個判斷元素取值,在確定了當(dāng)前位置元素取值為非0后,再進(jìn)行熵編碼處理。
上述裝置中,位置確定單元可以通過各種組合邏輯來實現(xiàn)。
圖3為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置中的位置確定單元的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明實施例中的位置確定單元可以通過由多個選擇器構(gòu)成的組合邏輯電路來實現(xiàn)。以4×4的亮度矩陣為例,該電路包括15個選擇器,即選擇器1~選擇器15。
Vi表示位置i的元素取值是否不為0,作為選擇器i的選擇信號,Vi是由位置確定單元中的一個功能子單元或子電路,根據(jù)接收到的殘差數(shù)據(jù)包括的矩陣中的每個位置的元素取值進(jìn)行判斷而輸出的,例如,如果位置i的元素取值為0,則Vi為0,如果位置i的元素取值不為0,則Vi為1。
其中,i為正整數(shù),取值范圍為1~15。由于位置0為結(jié)束位置,可以不對位置0進(jìn)行判斷,實際應(yīng)用中如果需要,則也對結(jié)束位置的元素取值進(jìn)行判斷,即i的取值范圍為0~15。
選擇器1包括兩個數(shù)據(jù)輸入端,分別接收位置序號0和位置序號1。當(dāng)V1的取值為0時,通過其輸出端P2輸出接收到的位置序號0,當(dāng)V1的取值為1時,通過其輸出端P2輸出接收到的位置序號1。輸出端P2的輸出結(jié)果表示位置1的下一跳位置。
選擇器j包括兩個數(shù)據(jù)輸入端,其中一個與選擇器j-1的輸出端P(j+1)相連,另一個接收位置序號j。其中,j為正整數(shù),取值范圍為2~15。當(dāng)Vj的取值為0時,通過輸出端P(j+1)輸出選擇器j-1的輸出端Pj的輸出結(jié)果;當(dāng)Vj的取值為1時,通過輸出端P(j+1)輸出接收到的位置序號j。輸出端P(j+1)的輸出結(jié)果表示位置j的下一跳位置。
對于選擇器15來說,其輸出端P16即為如圖3所示的PS,輸出端PS的輸出結(jié)果表示第一跳位置。
所有選擇器接收的位置序號1~位置序號15為預(yù)先設(shè)置的,每一個位置序號表示一個位置。所有選擇器的輸出端口均與如圖2所示的位置輸出單元的輸入端相連,位置輸出單元即可根據(jù)接收到的位置序號,確定第一跳位置及每一跳位置,并輸出對應(yīng)的控制信號。
以輸出端P15為例,上述電路的邏輯關(guān)系可以表示為如果V14不等于0,則P15等于14,否則,P15的輸出結(jié)果為P14的輸出結(jié)果,如果V13不等于0,則P15的輸出結(jié)果為13,否則,P15的輸出結(jié)果為P13的輸出結(jié)果,如果V12不等于0,則P15的輸出結(jié)果為12,否則,P15的輸出結(jié)果為P12的輸出結(jié)果,如果V11不等于0,則P15的輸出結(jié)果為11,否則,P15的輸出結(jié)果為P11的輸出結(jié)果,如果V10不等于0,則P15的輸出結(jié)果為10,
否則,P15的輸出結(jié)果為P10的輸出結(jié)果,如果V9不等于0,則P15的輸出結(jié)果為9,否則,P15的輸出結(jié)果為P9的輸出結(jié)果,如果V8不等于0,則P15的輸出結(jié)果為8,否則,P15的輸出結(jié)果為P8的輸出結(jié)果,如果V7不等于0,則P15的輸出結(jié)果為7,否則,P15的輸出結(jié)果為P7的輸出結(jié)果,如果V6不等于0,則P15的輸出結(jié)果為6,否則,P15的輸出結(jié)果為P6的輸出結(jié)果,如果V5不等于0,則P15的輸出結(jié)果為5,否則,P15的輸出結(jié)果為P5的輸出結(jié)果,如果V4不等于0,則P15的輸出結(jié)果為4,否則,P15的輸出結(jié)果為P4的輸出結(jié)果,如果V3不等于0,則P15的輸出結(jié)果為3,否則,P15的輸出結(jié)果為P3的輸出結(jié)果,如果V2不等于0,則P15的輸出結(jié)果為2,否則,P15的輸出結(jié)果為P2的輸出結(jié)果,如果V1不等于0,則P15的輸出結(jié)果為1,否則,P15的輸出結(jié)果為0。
下面,舉具體實例對上述電路進(jìn)行詳細(xì)說明。
圖4a和4b為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制實例示意圖。
如圖4a所示,4×4的亮度矩陣中,位置0至位置5和位置9的元素取值不為0。即V1~V5以及V9的取值均為1,V6~V8、V10~V15的取值均為0。
此時,P2的輸出結(jié)果為1,P3的輸出結(jié)果為2,P4的輸出結(jié)果為3,
P5的輸出結(jié)果為4,P6的輸出結(jié)果為5,P7的輸出結(jié)果為P6的輸出結(jié)果,即為5,P8的輸出結(jié)果為P7的輸出結(jié)果,即為5,P9的輸出結(jié)果為P8的輸出結(jié)果,即為5,P10的輸出結(jié)果為9,P11的輸出結(jié)果為P10的輸出結(jié)果,即為9,P12的輸出結(jié)果為P11的輸出結(jié)果,即為9,P13的輸出結(jié)果為P12的輸出結(jié)果,即為9,P14的輸出結(jié)果為P13的輸出結(jié)果,即為9,P15的輸出結(jié)果為P14的輸出結(jié)果,即為9,PS的輸出結(jié)果為P15的輸出結(jié)果,即為9。
這樣,確定第一跳位置為位置9,后續(xù)幾跳的位置依次為位置5、位置4、位置3、位置2、位置1,最終跳至位置0,同時依次輸出每一跳位置對應(yīng)的控制信號即可。
在如圖4a所示的實例中,熵編碼過程只需要7個單元時間即可。
如圖4b所示,4×4的亮度矩陣中,位置0和位置15的元素取值不為0。即V15的取值為1,而V1~V14的取值均為0。
此時,P2的輸出結(jié)果為0,P3的輸出結(jié)果為P2的輸出結(jié)果,即為0,P4的輸出結(jié)果為P3的輸出結(jié)果,即為0,P5的輸出結(jié)果為P4的輸出結(jié)果,即為0,P6的輸出結(jié)果為P5的輸出結(jié)果,即為0,P7的輸出結(jié)果為P6的輸出結(jié)果,即為0,P8的輸出結(jié)果為P7的輸出結(jié)果,即為0,P9的輸出結(jié)果為P8的輸出結(jié)果,即為0,P10的輸出結(jié)果為P9的輸出結(jié)果,即為0,
P11的輸出結(jié)果為P10的輸出結(jié)果,即為0,P12的輸出結(jié)果為P11的輸出結(jié)果,即為0,P13的輸出結(jié)果為P12的輸出結(jié)果,即為0,P14的輸出結(jié)果為P13的輸出結(jié)果,即為0,P15的輸出結(jié)果為P14的輸出結(jié)果,即為0,PS的輸出結(jié)果為15。
這樣,確定第一跳位置為位置15,后續(xù)一跳直接跳至位置0,同時依次輸出位置15和位置0對應(yīng)的控制信號即可。
在如圖4b所示的實例中,熵編碼過程只需要2個單元時間即可。
以上均是以4×4的亮度矩陣進(jìn)行的說明,如果為n×n的亮度矩陣,則如圖3所示的電路中,可包括n2-1個選擇器,電路的工作原理相同。
對于m×m的色度矩陣,通常m小于n,此時,只需選擇n2-1個選擇器中選擇器1~選擇器m2-1即可,而選擇器m2-1的輸出端的輸出結(jié)果即表示第一跳位置;實際應(yīng)用中,本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置還可以包括一個補0單元,對m×m的色度矩陣補0,構(gòu)成n×n的矩陣,然后輸出給位置確定單元,并由位置確定單元通過與亮度矩陣相同的處理過程進(jìn)行位置確定并輸出對應(yīng)控制信號即可,這樣,保證上述殘差數(shù)據(jù)處理的控制裝置能夠?qū)χ辽僦С謨煞N矩陣的熵編碼處理,提高了其通用性。
本發(fā)明實施例中殘差數(shù)據(jù)處理的控制裝置,可以采用與視頻編碼電路的多種連接方式,來實現(xiàn)其對視頻編碼中殘差數(shù)據(jù)處理的控制。
實施例一圖5為本發(fā)明實施例一中殘差數(shù)據(jù)處理的控制裝置結(jié)構(gòu)圖。如圖5所示,位置確定單元的輸入端與視頻編碼電路中的Z掃描單元的輸出端相連,位置輸出單元的輸出端與視頻編碼電路中的Z掃描單元的輸入端相連。
位置確定單元,接收Z掃描單元輸出的殘差數(shù)據(jù);根據(jù)殘差數(shù)據(jù)包括的矩陣中,每個位置的元素取值是否為0,確定第一跳位置及每一跳位置對應(yīng)的下一跳位置。
位置輸出單元,從第一跳位置開始,順序在每一個單元時間,向Z掃描單元輸出與每一跳位置對應(yīng)的控制信號。
Z掃描單元,向位置確定單元輸出Z掃描后的殘差數(shù)據(jù);根據(jù)接收到的控制信號,依次向熵編碼單元輸出殘差數(shù)據(jù)中,與控制信號對應(yīng)位置的元素。
熵編碼單元,對接收到的元素進(jìn)行熵編碼處理。
可見,Z掃描單元在向熵編碼單元輸出殘差數(shù)據(jù)時,不需依次對每一個元素的取值進(jìn)行判斷,而是直接根據(jù)接收到的控制信號輸出對應(yīng)位置的元素即可;熵編碼單元接收到的元素取值均不為0,因而也不需要對接收到的元素取值進(jìn)行判斷,直接進(jìn)行熵編碼處理即可。
實施例二圖6為本發(fā)明實施例二中殘差數(shù)據(jù)處理的控制裝置結(jié)構(gòu)圖。如圖6所示,本實施例中,位置確定單元的輸入端與視頻編碼電路中的Z掃描單元的輸出端相連,位置輸出單元的輸出端與視頻編碼電路中的熵編碼單元的輸入端相連。
位置確定單元,接收Z掃描單元輸出的殘差數(shù)據(jù);根據(jù)殘差數(shù)據(jù)包括的矩陣中,每個位置的元素取值是否為0,確定第一跳位置及每一跳位置對應(yīng)的下一跳位置。
位置輸出單元,從第一跳位置開始,順序在每一個單元時間,向熵編碼單元輸出與每一跳位置對應(yīng)的控制信號。
Z掃描單元,向位置確定單元輸出Z掃描后的殘差數(shù)據(jù);向熵編碼單元輸出Z掃描后的殘差數(shù)據(jù)中所有的元素。
熵編碼單元,接收Z掃描單元輸出的殘差數(shù)據(jù);根據(jù)接收到的控制信號,依次對殘差數(shù)據(jù)中,與控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理。
可見,Z掃描單元不需依次對每一個元素的取值進(jìn)行判斷,而是直接將殘差數(shù)據(jù)輸出給熵編碼單元;熵編碼單元也不需要對接收到的殘差數(shù)據(jù)中矩陣中的元素取值進(jìn)行判斷,而是直接對殘差數(shù)據(jù)的矩陣中,控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理即可。
基于上述裝置,本實施例中還提供了一種視頻編碼中殘差數(shù)據(jù)處理的控制方法。
圖7為本發(fā)明實施例中殘差數(shù)據(jù)處理的控制方法流程圖。如圖7所示,本實施例中殘差數(shù)據(jù)處理的控制方法包括以下步驟步驟701,接收Z掃描后的殘差數(shù)據(jù)。
步驟702,根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定第一跳位置。
步驟703,跳至確定的位置,并判斷當(dāng)前位置是否為結(jié)束位置,如果不是,則執(zhí)行步驟704,如果是,則執(zhí)行步驟705。
步驟704,對當(dāng)前跳位置的元素進(jìn)行熵編碼處理,并根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定下一跳位置,并返回步驟703。
上述步驟702~步驟704中,如果矩陣中初始位置的元素取值不為0,則確定的第一跳位置為初始位置;如果矩陣中所有位置的元素取值均為0,則確定第一跳位置及每一跳位置對應(yīng)的下一跳位置均為結(jié)束位置。
步驟705,對當(dāng)前跳位置的元素進(jìn)行熵編碼處理,并結(jié)束本流程。
本步驟中,可以由視頻編碼電路中的Z掃描單元依次將殘差數(shù)據(jù)中與控制信號對應(yīng)位置的元素向視頻編碼電路中的熵編碼單元輸出,再由視頻編碼電路中的熵編碼單元對接收到的元素進(jìn)行熵編碼處理;或者,由視頻編碼電路中的Z掃描單元將殘差數(shù)據(jù)中的所有元素向視頻編碼電路中的熵編碼單元輸出,再由視頻編碼電路中熵編碼單元依次對殘差數(shù)據(jù)中與所述控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理。
在上述流程中,步驟702之前,可以先將殘差數(shù)據(jù)中的色度矩陣補0,使得其大小與亮度矩陣大小相同;步驟702和步驟704中確定位置的過程,可以按照如圖3所示的電路原理相同的方式來實現(xiàn)。
由本實施例的技術(shù)方案可見,在進(jìn)行熵編碼之前,先判斷出第一個非0取值元素的位置,并直接跳至該位置進(jìn)行熵編碼處理;在處理當(dāng)前位置的非0取值元素的同時,判斷下一個非0取值元素的位置,然后在當(dāng)前位置處理結(jié)束后直接跳至判斷出的下一個位置進(jìn)行熵編碼處理,從而在對每個非0取值的元素進(jìn)行熵編碼處理之前,不需等待一個單元時間的判斷周期。
這樣,以殘差數(shù)據(jù)中包括4×4的亮度矩陣和2×2的色度矩陣為例,對于一幅1920×1080的圖像來說,如果需要處理1920×1080×1.5/(4×4)=194400個殘差矩陣。如果每個矩陣都能節(jié)省1個單元時間,則在一幅圖像的視頻編碼過程中,總共能夠節(jié)省194400個單元時間。
而對于每個矩陣來說,其取值為0的元素可能為多個。這種情況下,節(jié)省的單元時間總和將會是非??捎^的。
而且,本實施例中通過邏輯電路實現(xiàn)非0取值元素位置的判斷,成本較低,也易于實現(xiàn)。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種視頻編碼中殘差數(shù)據(jù)處理的控制裝置,其特征在于,包括位置確定單元和位置輸出單元,其中,所述位置確定單元的輸出端與所述位置輸出單元的輸入端相連;所述位置確定單元,接收Z掃描后的殘差數(shù)據(jù);根據(jù)殘差數(shù)據(jù)包括的矩陣中每個位置的元素取值,順序在每一個單元時間確定第一跳位置及每一跳位置對應(yīng)的下一跳位置;所述位置輸出單元,從第一跳位置開始,順序在每一個單元時間輸出與所述位置確定單元在上一個單元時間所確定的每一跳位置對應(yīng)的控制信號。
2.如權(quán)利要求1所述的控制裝置,其特征在于,如果元素取值為0,則確定該元素對應(yīng)的位置為第一跳位置或下一跳位置。
3.如權(quán)利要求2所述的控制裝置,其特征在于,如果矩陣中初始位置的元素取值不為0,則確定的第一跳位置為初始位置。
4.如權(quán)利要求2所述的控制裝置,其特征在于,如果矩陣中所有位置的元素取值均為0,則確定第一跳位置及每一跳位置對應(yīng)的下一跳位置均為結(jié)束位置。
5.如權(quán)利要求1所述的控制裝置,其特征在于,所述位置確定單元的輸入端,與視頻編碼電路中Z掃描單元的輸出端相連;所述位置輸出單元將每一跳位置對應(yīng)的控制信號輸出給所述視頻編碼電路中的Z掃描單元,用于所述Z掃描單元依次將殘差數(shù)據(jù)中與控制信號對應(yīng)位置的元素向熵編碼單元輸出。
6.如權(quán)利要求1所述的控制裝置,其特征在于,所述位置確定單元的輸入端,與視頻編碼電路中Z掃描單元的輸出端相連;所述位置輸出單元將每一跳位置對應(yīng)的控制信號輸出給視頻編碼電路中熵編碼單元,用于所述熵編碼單元依次對殘差數(shù)據(jù)中與所述控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理。
7.如權(quán)利要求1至6中任意一項所述的控制裝置,其特征在于,所述矩陣為n×n的矩陣,n為正整數(shù);所述位置確定單元包括選擇器1~選擇器m,其中,m等于n2-1;選擇器1包括兩個輸入端,其中一個接收位置序號0,另一個接收位置序號1,當(dāng)位置1的元素取值為0時,所述選擇器1的輸出端輸出位置序號0,當(dāng)位置1的元素取值不為0時,所述選擇器1的輸出端輸出位置序號1;選擇器j包括兩個輸入端,其中一個與選擇器j-1的輸出端相連,另一個接收位置序號j,其中,j為正整數(shù),取值范圍為2~m;當(dāng)位置j的元素取值為0時,選擇器j的輸出端輸出選擇器j-1的輸出端的輸出結(jié)果;當(dāng)位置j的元素取值不為0時,選擇器j的輸出端輸出位置序號j。
8.如權(quán)利要求7所述的控制裝置,其特征在于,所述選擇器m的輸出結(jié)果為第一跳位置;選擇器1~選擇器m-1的輸出結(jié)果分別為位置1~位置m-1對應(yīng)的下一跳位置。
9.如權(quán)利要求7所述的控制裝置,其特征在于,所述n×n的矩陣為4×4的亮度矩陣。
10.如權(quán)利要求7所述的控制裝置,其特征在于,所述n×n的矩陣為2×2的色度矩陣;所述控制裝置進(jìn)一步包括補0單元,對所述色度矩陣補0使得所述色度矩陣的大小與4×4的亮度矩陣的大小相同,并將補0后的色度矩陣輸出給所述位置確定單元。
11.一種視頻編碼中殘差數(shù)據(jù)處理的控制方法,其特征在于,包括接收Z掃描后的殘差數(shù)據(jù);根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定第一跳位置;跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理,并根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定下一跳位置;繼續(xù)執(zhí)行所述跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理,并根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定下一跳位置,直至跳至結(jié)束位置。
12.如權(quán)利要求11所述的控制方法,其特征在于,所述根據(jù)元素取值確定第一跳位置為如果元素取值為0,則確定該元素對應(yīng)的位置為第一跳位置;所述根據(jù)元素取值確定下一跳位置為如果元素取值為0,則確定該元素對應(yīng)的位置為下一跳位置。
13.如權(quán)利要求12所述的控制方法,其特征在于,如果矩陣中初始位置的元素取值不為0,則確定的第一跳位置為初始位置。
14.如權(quán)利要求12所述的控制方法,其特征在于,如果矩陣中所有位置的元素取值均為0,則確定第一跳位置及每一跳位置對應(yīng)的下一跳位置均為結(jié)束位置。
15.如權(quán)利要求11所述的控制方法,其特征在于,所述跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理包括視頻編碼電路中的Z掃描單元依次將殘差數(shù)據(jù)中與控制信號對應(yīng)位置的元素向視頻編碼電路中的熵編碼單元輸出;視頻編碼電路中的熵編碼單元對接收到的元素進(jìn)行熵編碼處理。
16.如權(quán)利要求11所述的控制方法,其特征在于,所述跳至確定的位置,對當(dāng)前位置的元素進(jìn)行熵編碼處理包括視頻編碼電路中的Z掃描單元將殘差數(shù)據(jù)中的所有元素向視頻編碼電路中的熵編碼單元輸出;視頻編碼電路中熵編碼單元依次對殘差數(shù)據(jù)中與所述控制信號對應(yīng)位置的元素進(jìn)行熵編碼處理。
17.如權(quán)利要求11至16中任意一項所述的控制方法,其特征在于,所述矩陣包括亮度矩陣和色度矩陣;所述根據(jù)殘差數(shù)據(jù)的矩陣中的元素取值,確定第一跳位置之前,進(jìn)一步包括對色度矩陣補0,使得所述色度矩陣的大小與所述亮度矩陣的大小相同。
全文摘要
本發(fā)明公開了一種視頻編碼中殘差數(shù)據(jù)處理的控制裝置和一種視頻編碼中殘差數(shù)據(jù)處理的控制方法。在進(jìn)行熵編碼之前,先判斷出第一個非0取值元素的位置,并直接跳至該位置進(jìn)行熵編碼處理;在處理當(dāng)前位置的非0取值元素的同時,判斷下一個非0取值元素的位置,然后在當(dāng)前位置處理結(jié)束后直接跳至判斷出的下一個位置進(jìn)行熵編碼處理,從而在對每個非0取值的元素進(jìn)行熵編碼處理之前,不需等待一個單元時間的判斷周期,從而提高了殘差數(shù)據(jù)處理的效率,進(jìn)而提高了視頻編碼的效率。通過各種簡單邏輯電路實現(xiàn)非0取值元素位置的判斷,成本較低,也易于實現(xiàn);能夠?qū)Σ煌笮〉木仃囃ㄟ^補0的方式統(tǒng)一為相同大小的矩陣,具有較高的通用性。
文檔編號G06T9/00GK101068356SQ20071009936
公開日2007年11月7日 申請日期2007年5月17日 優(yōu)先權(quán)日2007年5月17日
發(fā)明者劉子熹 申請人:北京中星微電子有限公司