專利名稱:一種視頻數(shù)據(jù)的壓縮/解壓縮方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻處理技術(shù)領(lǐng)域,特別涉及一種視頻數(shù)據(jù)的壓縮/解壓縮方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有的視頻數(shù)據(jù)壓縮方法設(shè)計(jì)的重點(diǎn)主要在數(shù)據(jù)壓縮的效率,主要應(yīng)用于視頻數(shù)據(jù)的存儲(chǔ)和傳輸領(lǐng)域,目的是降低視頻數(shù)據(jù)存儲(chǔ)所需要的空間和視頻數(shù)據(jù)在網(wǎng)絡(luò)傳輸過(guò)程中所需要的帶寬。然而在多媒體ASIC設(shè)計(jì)中,ASIC內(nèi)部的主要帶寬需求和帶寬瓶頸集中在視頻數(shù)、據(jù)的讀寫階段,例如視頻解碼獲得的重建視頻圖像數(shù)據(jù)的寫出,視頻解碼獲得的重建圖像數(shù)據(jù)的顯示等等都會(huì)占用大量的片內(nèi)帶寬資源。如果對(duì)輸出的視頻數(shù)據(jù)先進(jìn)行壓縮編碼再寫出,在讀取視頻數(shù)據(jù)時(shí)先進(jìn)行解碼處理再顯示,將有效地降低數(shù)據(jù)在ASIC內(nèi)部各模塊之間傳輸?shù)膸挕,F(xiàn)有的以壓縮效率為設(shè)計(jì)目標(biāo)的視頻數(shù)據(jù)的壓縮方法,自然會(huì)導(dǎo)致壓縮后的數(shù)據(jù)的上下文之間具有很強(qiáng)的數(shù)據(jù)相關(guān)性,難以實(shí)現(xiàn)精確到宏塊級(jí)別、甚至塊級(jí)別等小尺度的視頻數(shù)據(jù)的隨機(jī)存取,因此難于應(yīng)用于上述場(chǎng)合。另外,現(xiàn)有的以壓縮效率為設(shè)計(jì)目標(biāo)的視頻數(shù)據(jù)的壓縮方法,由于各塊之間壓縮數(shù)據(jù)相互關(guān)聯(lián),生成碼流的尺寸也各不相同,難以實(shí)現(xiàn)各編碼單元塊之間的完全并行壓縮和無(wú)縫碼流裝配。
發(fā)明內(nèi)容
本發(fā)明提出了一種視頻數(shù)據(jù)的壓縮/解壓縮方法及系統(tǒng),該方法和系統(tǒng)能夠優(yōu)化多媒體ASIC數(shù)據(jù)讀寫環(huán)節(jié)的帶寬,且可以實(shí)現(xiàn)對(duì)各壓縮數(shù)據(jù)單元的隨機(jī)讀寫以及壓縮數(shù)據(jù)單元之間完全并行的壓縮處理和無(wú)縫碼流裝配。根據(jù)本發(fā)明的一方面,提出了一種視頻數(shù)據(jù)的壓縮方法,該方法包括步驟(I)將存儲(chǔ)器中的視頻數(shù)據(jù)分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊;(2)讀取所述基本單元,(3)對(duì)讀取的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù);其中步驟(3)包括(3. I)對(duì)讀取的基本單元中的各個(gè)數(shù)據(jù)塊并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù);(3. 2)輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。優(yōu)選地,所述基本單元中的數(shù)據(jù)塊具有一定的排列順序,以及在步驟(3. I)中,將獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)寫入輸出緩沖器中;在步驟(3. 2)中,所述輸出緩沖器按照所述排列順序串行地輸出各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。優(yōu)選地,在步驟(3. I)中,對(duì)讀取的所述基本單元中的各個(gè)數(shù)據(jù)塊按照各自的指定壓縮預(yù)算并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),其中每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與該數(shù)據(jù)塊的指定的壓縮預(yù)算一致,根據(jù)每個(gè)數(shù)據(jù)塊的壓縮預(yù)算確定每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸出緩沖器中的位置,從而將讀取的基本單元中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地分配到輸出緩沖器中。優(yōu)選地,對(duì)每個(gè)基本單元進(jìn)行變壓縮比的壓縮,或定壓縮比的壓縮。根據(jù)本發(fā)明的另一方面,提出了一種視頻數(shù)據(jù)的壓縮系統(tǒng),該系統(tǒng)包括存儲(chǔ)器,用于存儲(chǔ)視頻數(shù)據(jù),該視頻數(shù)據(jù)被分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊;
讀取裝置,讀取所述基本單元,并將所述基本單元的每個(gè)數(shù)據(jù)塊存放在該讀取裝置的相應(yīng)的寄存器中;壓縮編碼裝置,對(duì)讀取裝置中的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù);其中該壓縮編碼裝置包括至少一個(gè)編碼器,對(duì)所述寄存器中的數(shù)據(jù)塊并行地進(jìn)行壓縮編碼,獲得各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并提供給輸出緩沖器;輸出緩沖器,輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)至所述存儲(chǔ)器,從而獲得所述基本單元的壓縮數(shù)據(jù)。優(yōu)選地,所述壓縮編碼裝置中的編碼器的數(shù)量與所述讀取裝置的寄存器的數(shù)量相同,并與所述基本單元中的數(shù)據(jù)塊的數(shù)量相同,并且所述編碼器與所述寄存器一一對(duì)應(yīng)。優(yōu)選地,所述壓縮編碼裝置還包括預(yù)算分配控制器,該預(yù)算分配控制器中預(yù)先存儲(chǔ)有為每個(gè)編碼器指定的壓縮預(yù)算,從而每個(gè)編碼器按照指定的壓縮預(yù)算對(duì)數(shù)據(jù)塊進(jìn)行壓縮編碼,該預(yù)算分配控制器還根據(jù)所述壓縮預(yù)算將每個(gè)編碼器輸出的壓縮數(shù)據(jù)并行地輸出到輸出緩沖器的相應(yīng)位置。優(yōu)選地,對(duì)每個(gè)基本單元進(jìn)行變壓縮比的壓縮,或定壓縮比的壓縮。根據(jù)本發(fā)明的另一方面,提出了一種視頻數(shù)據(jù)的解壓縮方法,該方法包括BI,從存儲(chǔ)器中讀取基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)如權(quán)利要求I至4中任意一項(xiàng)所述的視頻數(shù)據(jù)的壓縮方法對(duì)基本單元進(jìn)行壓縮而獲得的;B2,對(duì)讀取的基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元;其中步驟B2,包括B2. 1,對(duì)讀取的基本單元的壓縮數(shù)據(jù)中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù);B2. 2,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),從而獲得所述基本單元。優(yōu)選地,在步驟B2. I中,根據(jù)所述基本單元的壓縮數(shù)據(jù)中的每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的相應(yīng)的壓縮預(yù)算確定每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸入緩沖器中的位置,從而將各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地從輸入緩沖器分配到各個(gè)解碼器,并通過(guò)各個(gè)解碼器對(duì)各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),其中每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與相應(yīng)的壓縮預(yù)算一致。
根據(jù)本發(fā)明的另一方面,提出了一種視頻數(shù)據(jù)的解壓縮系統(tǒng),該系統(tǒng)包括存儲(chǔ)器,用于存儲(chǔ)基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)權(quán)利要求5至8中任意一項(xiàng)所述的視頻數(shù)據(jù)的壓縮系統(tǒng)對(duì)基本單元進(jìn)行壓縮而獲得的;解壓縮裝置,對(duì)所述基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元;其中該解壓縮裝置包括輸入緩沖器,讀取并緩沖所述基本單元的壓縮數(shù)據(jù);至少一個(gè)解碼器,對(duì)所述輸入緩沖器中的基本單元的壓縮數(shù)據(jù)中的各個(gè)數(shù)據(jù)塊的 壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù)并提供給輸出寄存器;以及輸出寄存器,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù)至所述存儲(chǔ)器,從而獲得解壓縮后的基本單兀。優(yōu)選地,所述解壓縮裝置還包括預(yù)算分配控制器,該預(yù)算分配控制器中預(yù)先存儲(chǔ)有每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)相應(yīng)的壓縮預(yù)算,從而使輸入緩沖器按照該壓縮預(yù)算并行地將每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)分配至每個(gè)解碼器,每個(gè)解碼器并行地對(duì)每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)進(jìn)行解壓縮,從而得到基本單元的解壓縮數(shù)據(jù);其中數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與其相應(yīng)的壓縮預(yù)算相等。本發(fā)明的方法和系統(tǒng)實(shí)現(xiàn)了可隨機(jī)訪問(wèn)的視頻數(shù)據(jù)壓縮和解壓縮。該方案可以有效降低多媒體ASIC設(shè)計(jì)中視頻數(shù)據(jù)的傳輸帶寬,提高了性能,同時(shí)可以節(jié)省保存該類數(shù)據(jù)的內(nèi)存空間。由于每個(gè)數(shù)據(jù)塊的編解碼相互獨(dú)立進(jìn)行,并具有預(yù)先已知的壓縮預(yù)算分配信息。便于并行編解碼和碼流裝配的高效實(shí)現(xiàn)方案,編碼器的性能可以得到顯著提高。
圖I顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮方法的一個(gè)實(shí)施例的流程圖;圖2顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮方法的另一個(gè)實(shí)施例的流程圖;圖3顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮裝置的一個(gè)實(shí)施例的結(jié)構(gòu)圖;圖4顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮裝置的另一個(gè)實(shí)施例的結(jié)構(gòu)圖;圖5顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮方法的一個(gè)實(shí)施例的流程圖;圖6顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮方法的另一個(gè)實(shí)施例的流程圖;圖7顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮裝置的一個(gè)實(shí)施例的結(jié)構(gòu)圖;圖8顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮裝置的另一個(gè)實(shí)施例的結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明的原理的一方面在于,將視頻數(shù)據(jù)分割為具有統(tǒng)一尺寸的基本單元(TILE),以該基本單元作為壓縮或解壓縮處理的基本對(duì)象,對(duì)每個(gè)基本單元獨(dú)立地進(jìn)行壓縮或解壓縮操作,使得每個(gè)基本單元的壓縮或解壓縮結(jié)果之間不具備相關(guān)性,從而實(shí)現(xiàn)對(duì)每個(gè)基本單元的隨機(jī)訪問(wèn)。本發(fā)明的原理的另一方面在于,具有統(tǒng)一尺寸的每個(gè)基本單元可由多個(gè)數(shù)據(jù)塊組成,在對(duì)每個(gè)基本單元進(jìn)行壓縮或解壓縮的過(guò)程中,并行地對(duì)每個(gè)數(shù)據(jù)塊進(jìn)行壓縮或解壓縮,并可為每個(gè)數(shù)據(jù)塊設(shè)定壓縮預(yù)算,從而實(shí)現(xiàn)對(duì)每個(gè)基本單元所包含的所有數(shù)據(jù)塊的完全并行處理和無(wú)縫碼流裝配。圖I顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮方法的一個(gè)實(shí)施例的流程圖,在該實(shí)施例中,該方法包括S101,將存儲(chǔ)器中的視頻數(shù)據(jù)分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊;S102,讀取所述基本單元,S103,對(duì)讀取的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù);
其中步驟S103包括S1031,對(duì)讀取的基本單元中的各個(gè)數(shù)據(jù)塊并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù);S1032,輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。在該實(shí)施例中,由于每個(gè)基本單元具有統(tǒng)一的規(guī)格,并且對(duì)每個(gè)基本單元的壓縮獨(dú)立于其他基本單元,因此可實(shí)現(xiàn)對(duì)任意基本單元的隨機(jī)讀取。優(yōu)選地,所述基本單元中的數(shù)據(jù)塊具有一定的排列順序,這種排列順序可取決于所采用的視頻編解碼標(biāo)準(zhǔn)等應(yīng)用背景。在步驟S1032中,可按照所述排列順序串行地輸出各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。優(yōu)選地,可根據(jù)實(shí)際應(yīng)用需要來(lái)選擇所述基本單元的統(tǒng)一規(guī)格,例如統(tǒng)一的尺寸,統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)等。并且可根據(jù)實(shí)際應(yīng)用需要來(lái)選擇每個(gè)基本單元所包含的至少一個(gè)數(shù)據(jù)塊的數(shù)量、尺寸、排列順序、和數(shù)據(jù)內(nèi)容等。舉例來(lái)說(shuō),對(duì)于符合H. 264標(biāo)準(zhǔn)的視頻數(shù)據(jù),其常規(guī)的視頻數(shù)據(jù)處理最小單元為4X 4數(shù)據(jù)矩陣,因此可以4X 4數(shù)據(jù)矩陣作為數(shù)據(jù)塊,對(duì)于符合JPEG標(biāo)準(zhǔn)的視頻數(shù)據(jù)來(lái)說(shuō)則可以8X8數(shù)據(jù)矩陣作為數(shù)據(jù)塊。每個(gè)基本單元可由任意數(shù)量的數(shù)據(jù)塊組成,每個(gè)基本單元中的數(shù)據(jù)塊可具有相同的尺寸或不同的尺寸。優(yōu)選地,在對(duì)每個(gè)基本單元進(jìn)行編碼的過(guò)程中,將該基本單元中的各個(gè)數(shù)據(jù)塊并行地輸入與其對(duì)應(yīng)的每個(gè)編碼器,并對(duì)所有數(shù)據(jù)塊進(jìn)行并行編碼,從而并行地獲得對(duì)應(yīng)于每個(gè)數(shù)據(jù)塊的壓縮編碼結(jié)果。在一個(gè)變形中,可對(duì)每個(gè)基本單元進(jìn)行變壓縮比的壓縮,也就是說(shuō),在壓縮過(guò)程中,根據(jù)實(shí)際應(yīng)用的需要來(lái)選擇對(duì)每個(gè)基本單元的壓縮比例,例如,如果某基本單元中的數(shù)據(jù)在經(jīng)過(guò)大比例壓縮后仍能在解壓縮后恢復(fù)足夠的信息,則為該基本單元指定較大的壓縮比例,如果某基本單元只有在小比例壓縮的情況下才能在解壓縮后恢復(fù)足夠的信息,則為該基本單元指定較小的壓縮比例。這種變壓縮比的方案的優(yōu)點(diǎn)是靈活而有針對(duì)性,可以根據(jù)實(shí)際需要最大限度地提高整體壓縮效率。在另一個(gè)變形中,可對(duì)每個(gè)基本單元進(jìn)行定壓縮比的壓縮,也就是說(shuō),按照固定的比例對(duì)每個(gè)基本單元進(jìn)行壓縮,從而使所獲得的每個(gè)基本單元的壓縮數(shù)據(jù)的尺寸也是統(tǒng)一的且固定的。這樣作的優(yōu)點(diǎn)是經(jīng)過(guò)壓縮后的壓縮數(shù)據(jù)具有統(tǒng)一的尺寸,使得壓縮數(shù)據(jù)在寫入或讀出存儲(chǔ)器的過(guò)程中的尋址簡(jiǎn)單易行,從而提高數(shù)據(jù)讀寫的效率。優(yōu)選地,可按照數(shù)據(jù)塊的順序?qū)⒚總€(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)寫入輸出緩沖器,從而通過(guò)輸出緩沖器對(duì)基本單元的壓縮數(shù)據(jù)進(jìn)行串行輸出。每個(gè)基本單元的壓縮數(shù)據(jù)可被寫入存儲(chǔ)器中,并在后續(xù)使用之前被解壓縮,解壓縮過(guò)程與壓縮過(guò)程相對(duì)應(yīng),并將在下文中詳細(xì)描述。圖2描述了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮方法的另一實(shí)施例的流程圖,該實(shí)施例的方法包括S201,將視頻數(shù)據(jù)分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括按至少一個(gè)數(shù)據(jù)塊;S202,讀取所述基本單元,S203,對(duì)讀取的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù);其中步驟S203包括S2031,對(duì)讀取的所述基本單元中的各個(gè)數(shù)據(jù)塊按照各自的指定壓縮預(yù)算并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),其中每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與該數(shù)據(jù)塊的指定的壓縮預(yù)算一致,根據(jù)每個(gè)數(shù)據(jù)塊的壓縮預(yù)算確定每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在 輸出緩沖器中的位置,從而將讀取的基本單元中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地分配到輸出緩沖器中;S2032,所述輸出緩沖器串行輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得讀取的基本單元的壓縮數(shù)據(jù)。圖2所示的實(shí)施例在圖I所示的實(shí)施例的基礎(chǔ)上,在步驟S1031中的通過(guò)編碼器對(duì)各個(gè)數(shù)據(jù)塊分別進(jìn)行并行壓縮編碼的過(guò)程中,為每個(gè)數(shù)據(jù)塊預(yù)先分配了壓縮預(yù)算,也就是說(shuō),每個(gè)數(shù)據(jù)塊經(jīng)過(guò)相應(yīng)的編碼器編碼之后所得的壓縮數(shù)據(jù)的長(zhǎng)度(或稱為壓縮預(yù)算)是預(yù)先指定的,優(yōu)選地,每個(gè)數(shù)據(jù)塊的壓縮預(yù)算可以相同也可以不同。該實(shí)施例的優(yōu)點(diǎn)是,由于每個(gè)數(shù)據(jù)塊的壓縮預(yù)算已被預(yù)先指定,即每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度是可預(yù)知的。由于預(yù)先知道了每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度,也就預(yù)先知道了每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸出緩沖器中的起點(diǎn)和終點(diǎn),也就是說(shuō),每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸出緩沖器中的位置是可以預(yù)知的,因此可以自動(dòng)地、無(wú)縫地、并行地將所有數(shù)據(jù)塊的壓縮數(shù)據(jù)分配到輸出緩沖器中的相應(yīng)位置,并由輸出緩沖器串行輸出。該實(shí)施例可實(shí)現(xiàn)壓縮數(shù)據(jù)的無(wú)縫裝配,大大提高該壓縮方法的工作效率。然而本發(fā)明并不限于圖2所示的實(shí)施例,事實(shí)上,也可不對(duì)每個(gè)數(shù)據(jù)塊指定壓縮預(yù)算,而是按照例如指定的比例、指定的壓縮算法等對(duì)每個(gè)數(shù)據(jù)塊進(jìn)行壓縮。對(duì)于基本單元中的每個(gè)數(shù)據(jù)塊來(lái)說(shuō),編碼器可根據(jù)實(shí)際需要采用任何適當(dāng)?shù)姆绞綄?duì)其進(jìn)行壓縮編碼。圖3顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)圖,在該實(shí)施例中,該系統(tǒng)包括存儲(chǔ)器301,用于存儲(chǔ)視頻數(shù)據(jù),該視頻數(shù)據(jù)被分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊;讀取裝置302,讀取所述基本單元,并將所述基本單元的每個(gè)數(shù)據(jù)塊存放在該讀取裝置的相應(yīng)的寄存器(REGO,REG1,REG2)中;壓縮編碼裝置303,對(duì)讀取裝置302中的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù);其中該壓縮編碼裝置303包括至少一個(gè)編碼器(ENCO,ENCl, ENC2),對(duì)所述寄存器(REGO,REG1,REG2)中的數(shù)據(jù)塊并行地進(jìn)行壓縮編碼,獲得各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并提供給輸出緩沖器BUFOUT ;輸出緩沖器BUF0UT,輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)至所述存儲(chǔ)器301,從而獲得所述基本單元的壓縮數(shù)據(jù)。優(yōu)選地,所述壓縮編碼裝置303中的編碼器的數(shù)量與所述讀取裝置的寄存器的數(shù)量相同,并與所述基本單元中的數(shù)據(jù)塊的數(shù)量相同,并且所述編碼器與所述寄存器一一對(duì)應(yīng),從而實(shí)現(xiàn)對(duì)各個(gè)數(shù)據(jù)塊的并行壓縮編碼。圖3中描述了基本單元具有3個(gè)數(shù)據(jù)塊,對(duì)應(yīng)于3個(gè)寄存器和3個(gè)編碼器的情況,實(shí)際上數(shù)據(jù)塊的數(shù)量不限于3個(gè),可為I個(gè)以上的任意數(shù)量。優(yōu)選地,可按照編碼器(ENC0,ENC1,ENC2)的順序依次將壓縮數(shù)據(jù)提供給輸出緩沖器BUFOUT。圖4顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的壓縮系統(tǒng)的另一個(gè)實(shí)施例的結(jié)構(gòu)圖,在該實(shí)施例中,在圖3所示的實(shí)施例的系統(tǒng)的基礎(chǔ)上,圖4所示的實(shí)施例中的壓縮編碼裝置303中的還包括預(yù)算分配控制器BUD C0N,該預(yù)算分配控制器BUD CON中預(yù)先存儲(chǔ)有為每個(gè)編碼、器指定的壓縮預(yù)算,從而每個(gè)編碼器按照指定的壓縮預(yù)算對(duì)數(shù)據(jù)塊進(jìn)行壓縮編碼,該預(yù)算分配控制器還根據(jù)所述壓縮預(yù)算將每個(gè)編碼器輸出的壓縮數(shù)據(jù)(BUDO,BUD1, BUD2)并行地輸出到輸出緩沖器的相應(yīng)位置。在圖4所述的實(shí)施例中,為每個(gè)編碼器指定了壓縮預(yù)算相當(dāng)于對(duì)每個(gè)進(jìn)入編碼器的數(shù)據(jù)塊預(yù)先分配了壓縮預(yù)算,也就是說(shuō),每個(gè)數(shù)據(jù)塊經(jīng)過(guò)相應(yīng)的編碼器編碼之后所得的壓縮結(jié)果的長(zhǎng)度(或稱為壓縮預(yù)算)是預(yù)先指定的,優(yōu)選地,每個(gè)數(shù)據(jù)塊的壓縮預(yù)算可以相同也可以不同。該實(shí)施例的優(yōu)點(diǎn)是,由于每個(gè)編碼器的壓縮預(yù)算已被預(yù)先指定,即每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度是可預(yù)知的。由于預(yù)先知道了每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度,也就預(yù)先知道了每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸出緩沖器中的起點(diǎn)和終點(diǎn),也就是說(shuō),每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸出緩沖器中的位置是可以預(yù)知的,因此可以自動(dòng)地、無(wú)縫地、并行地將所有數(shù)據(jù)塊的壓縮數(shù)據(jù)輸出到輸出緩沖器中的相應(yīng)位置,并由輸出緩沖器串行輸出。該實(shí)施例可實(shí)現(xiàn)壓縮數(shù)據(jù)的無(wú)縫裝配,大大提高該壓縮方法的工作效率。然而本發(fā)明并不限于圖4所示的實(shí)施例,事實(shí)上,也可不對(duì)每個(gè)編碼器指定壓縮預(yù)算,而是按照例如指定的比例、指定的壓縮算法等通過(guò)編碼器對(duì)每個(gè)數(shù)據(jù)塊進(jìn)行壓縮。對(duì)于基本單元中的每個(gè)數(shù)據(jù)塊來(lái)說(shuō),編碼器可根據(jù)實(shí)際需要采用任何適當(dāng)?shù)姆绞綄?duì)其進(jìn)行壓縮編碼。優(yōu)選地,對(duì)每個(gè)基本單元進(jìn)行變壓縮比的壓縮,或定壓縮比的壓縮。相應(yīng)于上文所述的視頻數(shù)據(jù)的壓縮方法和裝置,本發(fā)明還提出了一種視頻數(shù)據(jù)的解壓縮方法和裝置,即本發(fā)明的視頻數(shù)據(jù)的壓縮方法和裝置的逆過(guò)程,其目的是將基本單元的壓縮數(shù)據(jù)解壓縮,恢復(fù)為具有統(tǒng)一規(guī)格的基本單元。圖5顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮方法的一個(gè)實(shí)施例的流程圖,在該實(shí)施例中,該方法包括S501,從存儲(chǔ)器中讀取基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)圖I和圖2的實(shí)施例中的方法對(duì)基本單元進(jìn)行壓縮而獲得的;S502,對(duì)讀取的基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元;其中步驟S502包括S5021,對(duì)讀取的基本單元的壓縮數(shù)據(jù)中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù);
S5022,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),從而獲得所述基本單元。圖6描述了根據(jù)本發(fā)明的壓縮視頻數(shù)據(jù)的解壓縮方法的另一實(shí)施例的流程圖,該實(shí)施例的方法包括S601,從存儲(chǔ)器中讀取基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)圖I或圖2的實(shí)施例中的方法對(duì)基本單元進(jìn)行壓縮而獲得的;S602,對(duì)讀取的基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元;其中步驟S602包括S6021,根據(jù)所述基本單元的壓縮數(shù)據(jù)中的每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的相應(yīng)的壓縮預(yù)算確定每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸入緩沖器中的位置,從而將各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地從輸入緩沖器分配到各個(gè)解碼器,并通過(guò)各個(gè)解碼器對(duì)各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),其中每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度相應(yīng)的壓縮預(yù)算一致;S6022,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),從而獲得解壓縮后的基本單元。圖7顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)圖,在該實(shí)施例中,該系統(tǒng)包括存儲(chǔ)器701,用于存儲(chǔ)基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)圖3或圖4的實(shí)施例中的系統(tǒng)對(duì)基本單元進(jìn)行壓縮而獲得的;解壓縮裝置702,對(duì)所述基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元;其中該解壓縮裝置702包括輸入緩沖器BUFIN,讀取并緩沖所述基本單元的壓縮數(shù)據(jù);至少一個(gè)解碼器(DECO,DECl,DEC2),對(duì)所述輸入緩沖器BUFIN中的基本單元的壓縮數(shù)據(jù)中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù)并提供給輸出寄存器(0REG0,OREGO, 0REG0);以及輸出寄存器(0REG0,OREGO, 0REG0,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù)至所述存儲(chǔ)器701,從而獲得解壓縮后的基本單元。圖8顯示了根據(jù)本發(fā)明的視頻數(shù)據(jù)的解壓縮系統(tǒng)的另一個(gè)實(shí)施例的結(jié)構(gòu)圖,在該實(shí)施例中,在圖7所示的實(shí)施例的系統(tǒng)的基礎(chǔ)上,圖8所示的解壓縮裝置702中還包括預(yù)算分配控制器BUD C0N,該預(yù)算分配控制器BUD CON中預(yù)先存儲(chǔ)有每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)相應(yīng)的壓縮預(yù)算,從而使輸入緩沖器BUFIN按照該壓縮預(yù)算并行地將每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)(BUD0,BUD1,BUD2)分配至每個(gè)解碼器(DECO,DECl, DEC2),每個(gè)解碼器(DECO,DECl,DEC2)并行地對(duì)每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)(BUD0,BUD1,BUD2)進(jìn)行解壓縮,從而得到基本單元的解壓縮數(shù)據(jù)。如前文所述,數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與其相應(yīng)的壓縮預(yù)算相等,因此,在預(yù)先知道每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)相應(yīng)的壓縮預(yù)算的情況下,預(yù)算分配器BUD CON就能夠確定每個(gè)數(shù)據(jù)塊在輸入緩沖器BUFIN中的位置,因此并行地將每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)(BUD0,BUD1,BUD2)分配到相應(yīng)的每個(gè)解碼器(DECO,DECl, DEC2)中,從而實(shí)現(xiàn)無(wú)縫碼流裝配。在本發(fā)明的視頻數(shù)據(jù)的壓縮/解壓縮方法和系統(tǒng)的一個(gè)示例性的應(yīng)用中,可將視頻解碼器中得到的解碼后的原始視頻數(shù)據(jù)分割為基本單元,并進(jìn)行上述壓縮得到相應(yīng)的壓縮數(shù)據(jù),并保存在存儲(chǔ)器中,以節(jié)約存儲(chǔ)器空間,并在需要該視頻數(shù)據(jù)時(shí),根據(jù)需要隨機(jī)讀取所需的壓縮數(shù)據(jù)并進(jìn)行解壓縮,恢復(fù)為原始 視頻數(shù)據(jù)并加以利用,從而節(jié)省了片內(nèi)帶寬資源。上述實(shí)施例是用于例示性說(shuō)明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此項(xiàng)技術(shù)的人士均可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修改。因此本發(fā)明的保護(hù)范圍,應(yīng)如本發(fā)明的權(quán)利要求書所列。
權(quán)利要求
1.一種視頻數(shù)據(jù)的壓縮方法,其特征在于,該方法包括步驟 (1)將存儲(chǔ)器中的視頻數(shù)據(jù)分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊; (2)讀取所述基本單元; (3)對(duì)讀取的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù); 其中,步驟(3)又包括步驟 (3. I)對(duì)讀取的基本單元中的各個(gè)數(shù)據(jù)塊并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù); (3. 2)輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的視頻數(shù)據(jù)的壓縮方法,其特征在于,其中所述基本單元中的數(shù)據(jù)塊具有一定的排列順序,以及 在步驟(3. I)中,將獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)寫入輸出緩沖器中; 在步驟(3. 2)中,所述輸出緩沖器按照所述排列順序串行地輸出各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的視頻數(shù)據(jù)的壓縮方法,其特征在于, 在步驟(3. I)中,對(duì)讀取的所述基本單元中的各個(gè)數(shù)據(jù)塊按照各自的指定壓縮預(yù)算并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),其中每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與該數(shù)據(jù)塊的指定的壓縮預(yù)算一致,根據(jù)每個(gè)數(shù)據(jù)塊的壓縮預(yù)算確定每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸出緩沖器中的位置,從而將讀取的基本單元中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地分配到輸出緩沖器中。
4.根據(jù)權(quán)利要求I至3中任意一項(xiàng)所述的視頻數(shù)據(jù)的壓縮方法,其特征在于,對(duì)每個(gè)基本單元進(jìn)行變壓縮比的壓縮,或定壓縮比的壓縮。
5.一種視頻數(shù)據(jù)的壓縮系統(tǒng),其特征在于,該系統(tǒng)包括 存儲(chǔ)器,用于存儲(chǔ)視頻數(shù)據(jù),該視頻數(shù)據(jù)被分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊; 讀取裝置,讀取所述基本單元,并將所述基本單元的每個(gè)數(shù)據(jù)塊存放在該讀取裝置的相應(yīng)的寄存器中; 壓縮編碼裝置,對(duì)讀取裝置中的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù); 其中該壓縮編碼裝置包括 至少一個(gè)編碼器,對(duì)所述寄存器中的數(shù)據(jù)塊并行地進(jìn)行壓縮編碼, 獲得各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并提供給輸出緩沖器; 輸出緩沖器,輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)至所述存儲(chǔ)器,從而 獲得所述基本單元的壓縮數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的視頻數(shù)據(jù)的壓縮系統(tǒng),其特征在于,其中所述壓縮編碼裝置中的編碼器的數(shù)量與所述讀取裝置的寄存器的數(shù)量相同,并與所述基本單元中的數(shù)據(jù)塊的數(shù)量相同,并且所述編碼器與所述寄存器一一對(duì)應(yīng)。
7.根據(jù)權(quán)利要求5所述的視頻數(shù)據(jù)的壓縮系統(tǒng),其特征在于,其中所述壓縮編碼裝置還包括預(yù)算分配控制器,該預(yù)算分配控制器中預(yù)先存儲(chǔ)有為每個(gè)編碼器指定的壓縮預(yù)算,從而每個(gè)編碼器按照指定的壓縮預(yù)算對(duì)數(shù)據(jù)塊進(jìn)行壓縮編碼,該預(yù)算分配控制器還根據(jù)所述壓縮預(yù)算將每個(gè)編碼器輸出的壓縮數(shù)據(jù)并行地輸出到輸出緩沖器的相應(yīng)位置。
8.根據(jù)權(quán)利要求5至7中任意一項(xiàng)所述的視頻數(shù)據(jù)的壓縮系統(tǒng),其特征在于,對(duì)每個(gè)基本單元進(jìn)行變壓縮比的壓縮,或定壓縮比的壓縮。
9.一種視頻數(shù)據(jù)的解壓縮方法,其特征在于,該方法包括步驟 BI,從存儲(chǔ)器中讀取基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)如權(quán)利要求I至4中任意一項(xiàng)所述的視頻數(shù)據(jù)的壓縮方法對(duì)基本單元進(jìn)行壓縮而獲得的; B2,對(duì)讀取的基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元; 其中,步驟B2,又包括步驟 B2. 1,對(duì)讀取的基本單元的壓縮數(shù)據(jù)中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮, 獲得所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù); B2. 2,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),從而獲得所述基本單元。
10.根據(jù)權(quán)利要求9所述的視頻數(shù)據(jù)的解壓縮方法,其特征在于, 在步驟B2. I中,根據(jù)所述基本單元的壓縮數(shù)據(jù)中的每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的相應(yīng)的壓縮預(yù)算確定每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)在輸入緩沖器中的位置,從而將各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地從輸入緩沖器分配到各個(gè)解碼器,并通過(guò)各個(gè)解碼器對(duì)各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù),其中每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與相應(yīng)的壓縮預(yù)算一致。
11.一種視頻數(shù)據(jù)的解壓縮系統(tǒng),其特征在于,該系統(tǒng)包括 存儲(chǔ)器,用于存儲(chǔ)基本單元的壓縮數(shù)據(jù),所述基本單元的壓縮數(shù)據(jù)是通過(guò)權(quán)利要求5至8中任意一項(xiàng)所述的視頻數(shù)據(jù)的壓縮系統(tǒng)對(duì)基本單元進(jìn)行壓縮而獲得的; 解壓縮裝置,對(duì)所述基本單元的壓縮數(shù)據(jù)進(jìn)行解壓縮并輸出解壓縮后的基本單元; 其中該解壓縮裝置包括 輸入緩沖器,讀取并緩沖所述基本單元的壓縮數(shù)據(jù); 至少一個(gè)解碼器,對(duì)所述輸入緩沖器中的基本單元的壓縮數(shù)據(jù)中的各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)并行地進(jìn)行解壓縮,獲得各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù)并提供給輸出寄存器;以及 輸出寄存器,輸出所述各個(gè)數(shù)據(jù)塊的解壓縮數(shù)據(jù)至所述存儲(chǔ)器,從而獲得解壓縮后的基本單元。
12.根據(jù)權(quán)利要求11所述的視頻數(shù)據(jù)的解壓縮系統(tǒng),其特征在于,所述解壓縮裝置還包括 預(yù)算分配控制器,該預(yù)算分配控制器中預(yù)先存儲(chǔ)有每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)相應(yīng)的壓縮 預(yù)算,從而使輸入緩沖器按照該壓縮預(yù)算并行地將每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)分配至每個(gè)解碼器,每個(gè)解碼器并行地對(duì)每個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù)進(jìn)行解壓縮,從而得到基本單元的解壓縮數(shù)據(jù);其中數(shù)據(jù)塊的壓縮數(shù)據(jù)的長(zhǎng)度與其相應(yīng)的壓縮預(yù)算相等。
全文摘要
本發(fā)明提出了一種視頻數(shù)據(jù)的壓縮/解壓縮方法及系統(tǒng),該壓縮方法包括步驟將存儲(chǔ)器中的視頻數(shù)據(jù)分割為多個(gè)具有統(tǒng)一規(guī)格的基本單元,每個(gè)所述基本單元包括至少一個(gè)數(shù)據(jù)塊;讀取所述基本單元;對(duì)讀取的所述基本單元進(jìn)行壓縮并輸出所述基本單元的壓縮數(shù)據(jù);還包括對(duì)讀取的基本單元中的各個(gè)數(shù)據(jù)塊并行地進(jìn)行壓縮編碼,獲得所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù);輸出所述各個(gè)數(shù)據(jù)塊的壓縮數(shù)據(jù),從而獲得所述基本單元的壓縮數(shù)據(jù)。本發(fā)明的方法和系統(tǒng)實(shí)現(xiàn)了可隨機(jī)訪問(wèn)的視頻數(shù)據(jù)壓縮和解壓縮。該方案可以有效降低多媒體ASIC設(shè)計(jì)中視頻數(shù)據(jù)的傳輸帶寬,提高了性能,同時(shí)可以節(jié)省保存該類數(shù)據(jù)的內(nèi)存空間。
文檔編號(hào)H04N7/26GK102740075SQ20121018306
公開日2012年10月17日 申請(qǐng)日期2012年6月5日 優(yōu)先權(quán)日2012年6月5日
發(fā)明者杜瑞, 沙力, 沙基昌 申請(qǐng)人:沙基昌