欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)包裝裝置及數(shù)據(jù)包裝方法

文檔序號(hào):7888980閱讀:276來源:國知局
專利名稱:數(shù)據(jù)包裝裝置及數(shù)據(jù)包裝方法
技術(shù)領(lǐng)域
本發(fā)明與存儲(chǔ)器管理技術(shù)相關(guān),并且尤其與用以包裝數(shù)據(jù)的存儲(chǔ)器管理技術(shù)相關(guān)。
背景技術(shù)
近年來有許多電子產(chǎn)品,包括數(shù)字相機(jī)、錄影機(jī)、智能型手機(jī)等等,皆以產(chǎn)品具備拍攝大尺寸、高解析度的影像/影片的能力來吸引消費(fèi)者。對(duì)硬件制造者來說,如何與時(shí)俱進(jìn),制作更高品質(zhì)的影像編碼器,一直都是重要的議題。圖1為一影像編碼器方塊圖范例。像素區(qū)塊輸入模塊11將數(shù)據(jù)供應(yīng)端輸入的像素?cái)?shù)據(jù)組成區(qū)塊。轉(zhuǎn)換/量化模塊12對(duì)上述像素區(qū)塊輸入模塊11產(chǎn)生的區(qū)塊施以離散余弦轉(zhuǎn)換(discrete cosine transform, DCT)和量化(quantization)程序,以達(dá)成壓縮效果。隨后,游程長度編碼(run length coding,RLC)模塊13負(fù)責(zé)找出量化后數(shù)據(jù)中的非零值(Run)和非零值之前的零值個(gè)數(shù)(Length),并以這兩個(gè)成對(duì)的參數(shù)表示數(shù)據(jù)內(nèi)容,藉此進(jìn)一步壓縮數(shù)據(jù)量。舉例而言,量化后數(shù)據(jù)00000200007可表示為(Run, Length) = (2,5)(7,4) 0可變長度編碼(variable length coding, VLC)模塊14的工作是根據(jù)游程長度編碼模塊13輸出的成對(duì)參數(shù)查表,將每一組成對(duì)參數(shù)再次轉(zhuǎn)換為一編碼位元流??勺冮L度編碼模塊14每次產(chǎn)生的編碼位元流的長度是不固定的。位元流包裝模塊15則將可變長度編碼模塊14產(chǎn)生的編碼位元流合并,以組成長度適當(dāng)?shù)姆獍?。接下來以位元流包裝模塊15包含兩個(gè)桶狀移位器(barrel shifter)的情況為例,說明目前通用的 位元流包裝機(jī)制。如圖2(A)所示,桶狀移位器15A、15B能容納的數(shù)據(jù)長度分別為32位元,并且,桶狀移位器15A、15B各自能提供的最大移位量為32位元。位元流包裝模塊15每周期接收一個(gè)位元流。如圖2(B)所示,在第一周期中,長度為8位元的位元流a首先被存入桶狀移位器15A并且靠左放置。在隨后的第二周期中,長度為16位元的位元流b輸入位元流包裝模塊15,為使位元流b鄰接于位元流a右側(cè)放置,桶狀移位器15A在接收位元流b的同時(shí),對(duì)位元流b施以8位元的向右移位。在第三周期中,長度為24位元的位元流c被傳送至位元流包裝模塊15。由于桶狀移位器15A的剩余容量不足,位元流c被拆解為長度分別為8位元、16位元的位元流Cl、c2,分別存放在桶狀移位器15A、15B中。假設(shè)位元流包裝模塊15應(yīng)產(chǎn)生的封包長度固定為32位元。因桶狀移位器15A中的位元流a、b、cl已足夠組成一個(gè)封包,在第四周期中,位元流包裝模塊15除了接收新的位元流d,亦將位元流a、b、cl串接合并為一個(gè)封包后輸出。如圖2(B)所示,位元流c2會(huì)被搬移至桶狀移位器15A的最左側(cè)。位元流d則是被存入桶狀移位器15A中鄰接位元流c2的區(qū)段。由以上說明可知,為了正確串接各個(gè)位元流,位元流包裝模塊15每次在接收位元流的同時(shí),必須選擇性地利用桶狀移位將位元流搬移至正確的區(qū)段。就圖2(B)所示的范例而言,為了緊鄰位元流a,位元流b的起始位置必須是桶狀移位器15A中自左端數(shù)來第9位元的位置,因此需要向右移位8位元。為了緊鄰位元流b,位元流c的起始位置則必須是自左端數(shù)來第25位元的位置,因此需要向右移位24位元。于此范例中,桶狀移位器15A、15B各自能提供的最大移位量為32位元。近來隨著畫面尺寸和畫面解析度的提高,位元流的平均長度不斷增加。舉例而言,過去每個(gè)位元流所包含的內(nèi)容至多不超過32位元,但現(xiàn)在的位元流長度可能會(huì)長于32位元。此外,為了配合影像數(shù)據(jù)量的大幅增加,對(duì)編碼器硬件速度的要求也逐漸升高。舉例而言,若可變長度編碼模塊14被要求在每個(gè)周期內(nèi)處理兩筆數(shù)據(jù),位元流包裝模塊15在每個(gè)周期內(nèi)所接收的位元流長度即可能長于32位元。相對(duì)應(yīng)地,位元流包裝模塊15必須能在單一周期中提供高于32位元的最大移位量。就當(dāng)前的技術(shù)水準(zhǔn)而言,實(shí)現(xiàn)最大移位量高于32位元(例如64位元)的桶狀移位器并不困難。問題在于,移位量愈大,完成移位所需要的時(shí)間就愈長。在數(shù)據(jù)量較大的情況下,如果位元流包裝模塊15無法配合可變長度編碼模塊14產(chǎn)生位元流的速度,順利完成位元流的接收、移位、合并、輸出,位元流包裝模塊15很可能是拖慢影像編碼器整體速度的瓶頸。若藉由提高轉(zhuǎn)換/量化模塊12所采用的量化程度來減少后續(xù)數(shù)據(jù)量,雖可緩解對(duì)位元流包裝模塊15的速度要求,卻會(huì)犧牲影像品質(zhì),并不是理想的對(duì)策。

發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提出一種新的數(shù)據(jù)包裝裝置及數(shù)據(jù)包裝方法。藉由將一高移位量拆解為多個(gè)較小的移位量,分別在不同階段達(dá)成,根據(jù)本發(fā)明的裝置及方法能達(dá)到等同于具高移位能力的單一桶狀移位器的移位效果。此外,藉由將位元流適當(dāng)拆解為合并數(shù)據(jù)及殘余數(shù)據(jù),根據(jù)本發(fā)明的裝置及方法在接收、處理長位元流時(shí),平均而言比直接使用具高移位能力的單一桶狀移位器更有效率。根據(jù)本發(fā)明的一具體實(shí)施例為一種數(shù)據(jù)包裝裝置,用以持續(xù)接收一目前數(shù)據(jù),包含N個(gè)桶狀移位器、一控制模塊及一包裝模塊。該控制模塊用以根據(jù)一先前殘余數(shù)據(jù)的長度決定一移位量,并控制該N個(gè)桶狀移位器對(duì)一目前合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該移位量。該包裝模塊用以合并該先前殘余數(shù)據(jù)及經(jīng)過該N個(gè)桶狀移位器的該目前合并數(shù)據(jù)為一預(yù)備包裝數(shù)據(jù)。該M次桶狀移位各自的一移位量皆小于一門檻值,該門檻值與一周期長度相關(guān)。N為大于等于2的整數(shù),M為小于等于N的一自然數(shù)。該目前合并數(shù)據(jù)為該目前數(shù)據(jù)的一部份或全部。根據(jù)本發(fā)明的另一具體實(shí)施例為一種用以配合N個(gè)桶狀移位器的數(shù)據(jù)包裝方法。該方法首先執(zhí)行一決定步驟,根據(jù)一先前殘余數(shù)據(jù)的長度決定一第一目標(biāo)移位量。隨后,該方法,執(zhí)行一控制步驟,控制該N個(gè)桶狀移位器對(duì)一目前合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該第一目標(biāo)移 位量。接著,該先前殘余數(shù)據(jù)及經(jīng)過該N個(gè)桶狀移位器的該目前合并數(shù)據(jù)被合并。關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可以藉由以下發(fā)明詳述及附圖得到進(jìn)一步的了解。


圖1為一影像編碼器方塊圖。圖2㈧用以表示兩個(gè)桶狀移位器的容量;圖2(B)用以說明目前通用的位元流包裝機(jī)制。圖3為根據(jù)本發(fā)明的一具體實(shí)施例中的數(shù)據(jù)包裝裝置的方塊圖。圖4(A) 圖4(D)用以說明根據(jù)本發(fā)明的控制模塊如何控制兩個(gè)桶狀移位器對(duì)位元流施以桶狀移位。圖5(A)為另一具體實(shí)施例中的數(shù)據(jù)包裝裝置的方塊圖;圖5(B)用以表示數(shù)據(jù)包裝裝置中各儲(chǔ)存區(qū)域的相對(duì)位置。圖6為根據(jù)本發(fā)明的數(shù)據(jù)包裝裝置在各周期中對(duì)位元流施以桶狀移位的范例。圖7為根據(jù)本發(fā)明的另一具體實(shí)施例中的數(shù)據(jù)包裝方法的流程圖。圖8為根據(jù)本 發(fā)明的又一具體實(shí)施例中的數(shù)據(jù)包裝方法的流程圖。圖9為根據(jù)本發(fā)明的更一具體實(shí)施例中的數(shù)據(jù)包裝方法的流程圖。主要元件符號(hào)說明11:像素區(qū)塊輸入模塊12:轉(zhuǎn)換/量化模塊13:游程長度編碼模塊14:可變長度編碼模塊15:位元流包裝模塊15A、15B:桶狀移位器300,500:數(shù)據(jù)包裝裝置34、54:控制模塊321、322、521、522:合并桶狀移位器36、56:包裝模塊581、582:殘余桶狀移位器S71 S79:流程步驟
具體實(shí)施例方式根據(jù)本發(fā)明的一具體實(shí)施例為包含N個(gè)合并桶狀移位器的數(shù)據(jù)包裝裝置。N為大于等于2的整數(shù)。以下說明將以圖3所示的N等于2的情況為例。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者據(jù)此即可理解N大于2的情況。于實(shí)際應(yīng)用中,根據(jù)本發(fā)明的數(shù)據(jù)包裝裝置可單獨(dú)存在,亦可被整合各種具備影像編碼能力的設(shè)備中,或是用以配合各種需要包裝輸出數(shù)據(jù)的系統(tǒng)(例如通訊裝置)。如圖3所示,除了第一合并桶狀移位器321、第二合并桶狀移位器322之外,數(shù)據(jù)包裝裝置300還包含控制模塊34及包裝模塊36。第一合并桶狀移位器321、第二合并桶狀移位器322和包裝模塊36以管道式(pipeline)結(jié)構(gòu)串接;控制模塊34負(fù)責(zé)依時(shí)脈信號(hào)控制其間的數(shù)據(jù)傳遞。于此實(shí)施例中,第一合并桶狀移位器321、第二合并桶狀移位器322能提供的最大移位量皆為32位元。此外,本范例中的包裝模塊36為一緩沖器,負(fù)責(zé)整合前端送來的位元流并輸出長度為64位元的封包。須說明的是,最大移位量與封包長度不限于上述數(shù)字。舉例而言,兩桶狀移位器的最大移位量可不相同,而控制模塊34可被設(shè)計(jì)為控制包裝模塊36在各個(gè)周期輸出長度不等的封包。假設(shè)包裝模塊36中已存有長度為40位元的位元流a,且數(shù)據(jù)包裝裝置300隨后收到長度為24位元的位元流b。根據(jù)位元流a的長度,控制模塊34可判斷應(yīng)對(duì)位元流b施以移位量等于40位元的移位,才能使位元流b正確緊鄰于位元流a右方。圖4(A) 圖4(D)用以說明控制模塊34如何控制第一合并桶狀移位器321、第二合并桶狀移位器322在傳遞的過程中,對(duì)位元流b依序施以桶狀移位,以達(dá)成40位元的目標(biāo)移位量。本范例中的第一合并桶狀移位器321和第二合并桶狀移位器322被設(shè)計(jì)為各自具有64位元的儲(chǔ)存空間。圖4(A)繪示位元流a已儲(chǔ)存在包裝模塊36中,而桶狀移位器321、322中尚未存放任何數(shù)據(jù)的情況。位元流a可被視為一預(yù)備包裝數(shù)據(jù),預(yù)備包裝數(shù)據(jù)在可組成一完整的64位元封包前,暫存于包裝模塊36中。如圖4(B)所示,控制模塊34可在第一周期內(nèi)先控制第一合并桶狀移位器321接收位元流b,并且將位元流b向右挪移32位元。接著,在第二周期內(nèi),如圖4(C)所示,控制模塊34可控制第二合并桶狀移位器322自第一合并桶狀移位器321接收位元流b,并且將位元流b再次向右挪移8位元,使位元流b相對(duì)于儲(chǔ)存空間的左側(cè)的距離為40位元。隨后,在第三周期內(nèi),如圖4(D)所示,控制模塊34可令包裝模塊36自第二合并桶狀移位器322接收已經(jīng)過移位的位元流b,直接將位元流b存入包裝模塊36右側(cè)長度為24位元的空間。于一實(shí)施例中,包裝模塊36將位元流a及位元流b (即預(yù)備包裝數(shù)據(jù))組成完整的64位元封包后,并立即將該封包輸出。由上述說明可看出,數(shù)據(jù)包裝裝置300是將40位元的移位量拆解為32位元和8位元兩個(gè)較小的移位量,交由兩個(gè)桶狀移位器于兩個(gè)周期內(nèi)分別達(dá)成。實(shí)際上,拆解方式不以上述數(shù)值為限,舉例而言,拆解結(jié)果亦可為20位元和20位元,或是8位元和32位元。拆解移位量的好處在于,各個(gè)桶狀移位器都不需要被設(shè)計(jì)為具有太高的單次移位能力(例如64位元)。相較于最大移位量為64位元的單一桶狀移位器,最大移位量為32位元的桶狀移位器的硬件復(fù)雜度較低、平均運(yùn)作速度較快,并且能達(dá)到相同的移位效果。此外,采用數(shù)據(jù)包裝裝置300可省去另外設(shè)計(jì)具大移位量的桶狀移位器的麻煩。實(shí)際上,圖4(A) 圖4(D)中所呈現(xiàn)的位元流b可能是某個(gè)輸入數(shù)據(jù)包裝裝置300的位元流的一部份或全部。舉例而言,若在位元流a之后輸入數(shù)據(jù)包裝裝置300的位元流的長度為32位元,位元流b可能是此位元流的前24位元,該位元流其余的8位元可先被暫存起來,留待組成下一個(gè)封包之 用。易言之,控制模塊34可根據(jù)預(yù)定封包大小(例如64位元)與先前已存入包裝模塊36中的數(shù)據(jù)長度(例如40位元)計(jì)算包裝模塊36還能容納的數(shù)據(jù)量(例如24位元),再據(jù)此決定應(yīng)由后續(xù)位元流中擷取一部份或全部做為位元流b。根據(jù)本發(fā)明的另一實(shí)施例為包含N個(gè)合并桶狀移位器和N個(gè)殘余桶狀移位器的數(shù)據(jù)包裝裝置。N為大于等于2的整數(shù)。以下說明將以圖5(A)所示的N等于2的情況為例。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者據(jù)此即可理解N大于2的情況。數(shù)據(jù)包裝裝置500包含第一合并桶狀移位器521、第二合并桶狀移位器522、第一殘余桶狀移位器581、第二殘余桶狀移位器582、控制模塊54及包裝模塊56。以下將配合圖6中呈現(xiàn)的范例來說明數(shù)據(jù)包裝裝置500的運(yùn)作方式。為保持圖面清晰,圖6是以相對(duì)位置區(qū)別不同的元件,而未一一標(biāo)示各個(gè)區(qū)塊的號(hào)碼,其相對(duì)位置關(guān)請(qǐng)參見圖5(B)。于圖6所不的實(shí)施例中,第一合并桶狀移位器521、第二合并桶狀移位器522、第一殘余桶狀移位器581、第二殘余桶狀移位器582能提供的最大移位量皆為32位元,且各自具有64位元的儲(chǔ)存空間。包裝模塊56亦具有64位元的儲(chǔ)存空間,且被設(shè)定為在集滿64位元的數(shù)據(jù)后立即輸出一封包。第一合并桶狀移位器521和第一殘余桶狀移位器581可被視為負(fù)責(zé)第一階段的移位;第二合并桶狀移位器522和第二殘余桶狀移位器582可被視為負(fù)責(zé)第二階段的移位。此實(shí)施例中的第一階段移位、第二階段移位和最后的包裝模塊56以管道式結(jié)構(gòu)串接;控制模塊54負(fù)責(zé)依時(shí)脈信號(hào)控制其間由左向右進(jìn)行的數(shù)據(jù)傳遞。首先,在第一周期中,長度為40位元的位元流a被輸入數(shù)據(jù)包裝裝置500。由于在第一周期之前,圖中的五個(gè)儲(chǔ)存空間皆未存有任何先前數(shù)據(jù),位元流a被標(biāo)示為殘余數(shù)據(jù)a-R。如圖6所示,控制模塊54將殘余數(shù)據(jù)a-R存入第一殘余桶狀移位器581,并靠左放置。接著,在第二周期中,長度為44位元的位元流b被輸入數(shù)據(jù)包裝裝置500。根據(jù)殘余數(shù)據(jù)a-R的長度(40位元)和包裝數(shù)據(jù)量(64位元)間的差異,控制模塊54可決定一目標(biāo)合并長度(64位元-40位元=24位元)。就第二周期的情況而言,該目標(biāo)合并長度所對(duì)應(yīng)的數(shù)據(jù)也就是將用以和位元流a-R組成封包的數(shù)據(jù)。由于位元流b的長度(44位元)大于目標(biāo)合并長度(24位元),控制模塊54將位元流b分割為兩個(gè)部份:長度相等于目標(biāo)合并長度(24位元)的合并數(shù)據(jù)b-M,以及長度相等于位元流b的長度減去目標(biāo)合并長度(44位元-24位元=20位元)的殘余數(shù)據(jù)b-R。在第二周期中,殘余數(shù)據(jù)a-R自第一殘余桶狀移位器581被傳送至第二殘余桶狀移位器582,殘余數(shù)據(jù)b-R被存入第一殘余桶狀移位器581,合并數(shù)據(jù)b-M則是被存入第一合并桶狀移位器521。根據(jù)殘余數(shù)據(jù)a-R的長度(40位元),控制模塊54可判斷,在合并數(shù)據(jù)b-M被送入包裝模塊56之前,應(yīng)對(duì)合并數(shù)據(jù)b-M施以至少一次桶狀移位,以達(dá)成相等于殘余數(shù)據(jù)a-R長度(40位元)的向右移位,使合并數(shù)據(jù)b-M得與殘余數(shù)據(jù)a-R正確串接。如圖6所示, 控制模塊54先控制第一合并桶狀移位器521接收合并數(shù)據(jù)b-M,并將合并數(shù)據(jù)b-M向右挪移32位元(最大移位量)。須說明的是,控制模塊54亦控制第一殘余桶狀移位器581接收殘余數(shù)據(jù)b-R并將殘余數(shù)據(jù)b-R向左挪移相等于合并數(shù)據(jù)b-M的長度(24位元),使殘余數(shù)據(jù)b-R的起始位置對(duì)齊第一殘余桶狀移位器581的最左端。如圖所示,由于殘余數(shù)據(jù)b-R原先位于合并數(shù)據(jù)b-M的右邊,為了使殘余數(shù)據(jù)b-R的起始位置對(duì)齊第一殘余桶狀移位器581的最左端,殘余數(shù)據(jù)b-R必須向左挪移相等于合并數(shù)據(jù)b-M的長度。在第三周期中,長度為52位元的位元流c被輸入數(shù)據(jù)包裝裝置500。殘余數(shù)據(jù)a-R自第二殘余桶狀移位器582被傳送至包裝模塊56,殘余數(shù)據(jù)b-R自第一殘余桶狀移位器581被傳送至第二殘余桶狀移位器582,合并數(shù)據(jù)b-M則是自第一合并桶狀移位器521被傳送至第二合并桶狀移位器522。如圖6所示,控制模塊54控制第二合并桶狀移位器522接收合并數(shù)據(jù)b-M,并將合并數(shù)據(jù)b-M向右挪移8位元,使合并數(shù)據(jù)b-M的起始位置與第二合并桶狀移位器522的最左端存在相等于殘余數(shù)據(jù)a-R長度(40位元)的差異。相似地,根據(jù)殘余數(shù)據(jù)b-R的長度(20位元)和包裝數(shù)據(jù)量(64位元)間的差異,控制模塊54可決定一目標(biāo)合并長度(44位元),并據(jù)此將位元流c分割為兩個(gè)部份:長度相等于目標(biāo)合并長度(44位元)的合并數(shù)據(jù)c-M,以及長度相等于位元流c的長度減去目標(biāo)合并長度(52位元-44位元=8位元)的殘余數(shù)據(jù)c-R。根據(jù)殘余數(shù)據(jù)b-R的長度(20位元),控制模塊54可判斷,在合并數(shù)據(jù)c_M被送入包裝模塊56之前,應(yīng)對(duì)合并數(shù)據(jù)c-M施以至少一次桶狀移位,以達(dá)成相等于殘余數(shù)據(jù)b-R長度(20位元)的向右移位,使合并數(shù)據(jù)c-M得與殘余數(shù)據(jù)b-R正確串接。如圖6所示,控制模塊54控制第一合并桶狀移位器521在接收合并數(shù)據(jù)c-M的同時(shí)將合并數(shù)據(jù)c-M向右挪移20位兀。有鑒于合并數(shù)據(jù)c-M的長度大于最大移位量32位兀,控制模塊54控制第一殘余桶狀移位器581接收殘余數(shù)據(jù)c-R,并先將殘余數(shù)據(jù)c-R向左挪移最大移位量(32位元),使殘余數(shù)據(jù)c-R的起始位置朝向第一殘余桶狀移位器581的最左端移動(dòng)。殘余數(shù)據(jù)c-R與儲(chǔ)存空間最左端的12位元差異(即合并數(shù)據(jù)c-M的長度44位元減去最大移位量32位元)可留待于第四周期消除。
在第四周期中,長度為20位元的位元流d被輸入數(shù)據(jù)包裝裝置500。包裝模塊56中的位元流a-R和第二合并桶狀移位器522中的合并數(shù)據(jù)b-M亦于此時(shí)被組成完整的64位元封包后立即輸出。如圖6所示,殘余數(shù)據(jù)b-R自第二殘余桶狀移位器582被傳送至包裝模塊56,殘余數(shù)據(jù)c-R自第一殘余桶狀移位器581被傳送至第二殘余桶狀移位器582,且合并數(shù)據(jù)c-M自第一合并桶狀移位器521被傳送至第二合并桶狀移位器522。值得注意的是,控制模塊54控制第二殘余桶狀移位器582接收殘余數(shù)據(jù)c-R,并將殘余數(shù)據(jù)c-R左移12位元,使殘余數(shù)據(jù)c-R的起始位置為第二殘余桶狀移位器582的最左端。根據(jù)殘余數(shù)據(jù)c-R的長度(8位元)和包裝數(shù)據(jù)量(64位元)間的差異,控制模塊54可決定一目標(biāo)合并長度(56位元),并據(jù)此判斷不需要分割位元流d。位元流d的全部因此被標(biāo)示為合并數(shù)據(jù)d-M。根據(jù)殘余數(shù)據(jù)c-R的長度(8位元),控制模塊54可判斷,在合并數(shù)據(jù)d-M被送入包裝模塊56之前,應(yīng)對(duì)合并數(shù)據(jù)d-M施以至少一次桶狀移位,以達(dá)成相當(dāng)于殘余數(shù)據(jù)c-R長度(8位元)的向右移位,使合并數(shù)據(jù)d-M得與殘余數(shù)據(jù)c-R正確串接。如圖6所示,控制模塊54控制第一合并桶狀移位器521接收合并數(shù)據(jù)d-M,并將合并數(shù)據(jù)d-M向右挪移8位元。在第五周期中,長度為48位元的位元流e被輸入數(shù)據(jù)包裝裝置500。包裝模塊56中的位元流b-R和第二合并桶狀移位器522中的合并數(shù)據(jù)c-M亦于此時(shí)被組成完整的64位元封包后輸出。如圖6所示,殘余數(shù)據(jù)c-R自第二殘余桶狀移位器582被傳送至包裝模塊56,且合并數(shù)據(jù)d-M自第一合并桶狀移位器521被傳送至第二合并桶狀移位器522。根據(jù)殘余數(shù)據(jù)c-R及合并數(shù)據(jù)d-M的長度總和(28位元)與包裝數(shù)據(jù)量(64位元)間的差異,控制模塊54可決定一目標(biāo)合并長度(36位元),并據(jù)此將位元流e分割為兩個(gè)部份:長度相等于目標(biāo)合并長度(36位元)的合并數(shù)據(jù)e-M,以及長度相等于位元流e的長度減去目標(biāo)合并長度(48位元-36位元=12位元)的殘余數(shù)據(jù)e-R。此時(shí),包裝模塊56內(nèi)儲(chǔ)存有殘余數(shù)據(jù)c-R及合并數(shù)據(jù)d-M。根據(jù)殘余數(shù)據(jù)c-R及合并數(shù)據(jù)d-M的長度總和(28位元),控制模塊54可判斷,在合并數(shù)據(jù)e-M被送入包裝模塊56之前,應(yīng)對(duì)合并數(shù)據(jù)e-M施以至少一次桶狀移位,以達(dá)成相等于殘余數(shù)據(jù)c-R長度及合并數(shù)據(jù)d-M的長度總和(28位元)的向右移位,使合并數(shù)據(jù)e-M得與合并數(shù)據(jù)d-M正確串接。如圖6所示,控制模塊54控制第一合并桶狀移位器521接收合并數(shù)據(jù)e-M,并將合并數(shù)據(jù)e-M向右挪移28位元。有鑒于合并數(shù)據(jù)e-M的長度大于最大移位量32位元,控制模塊54亦控制第一殘余桶狀移位器581接收殘余數(shù)據(jù)e_R,將殘余數(shù)據(jù)e_R向左挪移最大移位量(32位元),使殘余數(shù)據(jù)e-R的起始位置向第一殘余桶狀移位器581的最左端移動(dòng)。殘余數(shù)據(jù)e-R與儲(chǔ)存空間最左端的4位元差異(即合并數(shù)據(jù)e-M的長度36位元減去最大移位量32位元)可留待于第六周期消除。在第六周期中,長度為16位元的位元流f被輸入數(shù)據(jù)包裝裝置500。第二合并桶狀移位器522中的合并數(shù)據(jù)d-M被傳送至包裝模塊56 ;殘余數(shù)據(jù)c-R及合并數(shù)據(jù)d_M尚無法組成完整的封包,因此繼續(xù)被存放在包裝模塊56中。如圖6所示,殘余數(shù)據(jù)e-R自第一殘余桶狀移位器581被傳送至第二殘余桶狀移位器582,且合并數(shù)據(jù)e-M自第一合并桶狀移位器521被傳送至第二合并桶狀移位器522。值得注意的是,控制模塊54控制第二殘余桶狀移位器582接收殘余數(shù)據(jù)e-R,并將 殘余數(shù)據(jù)e-R左移4位元,使殘余數(shù)據(jù)e_R的起始位置為第二殘余桶狀移位器582的最左端。
根據(jù)殘余數(shù)據(jù)e-R的長度(12位元)和包裝數(shù)據(jù)量(64位元)間的差異,控制模塊54可決定一目標(biāo)合并長度(52位元),并據(jù)此判斷不需要分割位元流f。位元流f的全部因此被標(biāo)示為合并數(shù)據(jù)f-M。根據(jù)殘余數(shù)據(jù)e-R的長度(12位元),控制模塊54可判斷,在合并數(shù)據(jù)f-M被送入包裝模塊56之前,應(yīng)對(duì)合并數(shù)據(jù)f-M施以至少一次桶狀移位,以達(dá)成相當(dāng)于殘余數(shù)據(jù)e-R長度(12位元)的向右移位,使合并數(shù)據(jù)f-M得與殘余數(shù)據(jù)e-R正確串接。如圖6所示,控制模塊54控制第一合并桶狀移位器521接收合并數(shù)據(jù)d-M,并將合并數(shù)據(jù)f-M向右挪移12位元。 實(shí)務(wù)上,前述位元流a f可能各自是連續(xù)多個(gè)位元流的組合,也可能是一個(gè)較長的位元流。針對(duì)每一周期新輸入的位元流,控制模塊54首先會(huì)判斷是否需將目前的數(shù)據(jù)分割為一合并數(shù)據(jù)與一殘余數(shù)據(jù)。接著,針對(duì)合并數(shù)據(jù),控制模塊54根據(jù)一先前殘余數(shù)據(jù)的長度決定一第一目標(biāo)移位量,并控制該N個(gè)合并桶狀移位器對(duì)目前的合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該第一目標(biāo)移位量。M為小于等于N的自然數(shù);若完全沒有先前殘余數(shù)據(jù),M即為零。另一方面,針對(duì)殘余數(shù)據(jù),控制模塊54則是會(huì)根據(jù)目前的合并數(shù)據(jù)長度決定一第二目標(biāo)移位量,并控制該N個(gè)殘余桶狀移位器對(duì)目前的殘余數(shù)據(jù)依序施以P次桶狀移位,以達(dá)成該第二目標(biāo)移位量,使目前的殘余數(shù)據(jù)的起始位置在被送進(jìn)包裝模塊56前對(duì)齊儲(chǔ)存空間最左側(cè)。P為小于等于N的自然數(shù)。須說明的是,該M次桶狀移位和P次桶狀移位各自的一最大移位量皆小于一門檻值(例如不高于32位元)。此門檻值與一周期長度相關(guān)。更明確地說,該等最大移位量被設(shè)計(jì)為確保各桶狀移位器皆能在一特定周期中完成其移位工作。以圖1所繪示的影像編碼架構(gòu)為例,假設(shè)可變長度編碼模塊會(huì)在一特定周期內(nèi)產(chǎn)生兩個(gè)提供至位元流包裝模塊的位元流,上述最大移位量可被設(shè)計(jì)為小于等于各桶狀移位器能在該特定周期內(nèi)順利完成的移位量。如此一來,即使可變長度編碼模塊在每個(gè)周期內(nèi)輸出兩個(gè)位元流或是一個(gè)較長的位元流,根據(jù)本發(fā)明的數(shù)據(jù)包裝裝置還是可以順利接收、處理,不會(huì)造成前端電路必須等待數(shù)據(jù)包裝裝置的情況。對(duì)于重視 流通量(throughput)的系統(tǒng)(例如高畫質(zhì)影像編碼系統(tǒng))來說,采用數(shù)據(jù)包裝裝置500可避免數(shù)據(jù)包裝程序成為整個(gè)數(shù)據(jù)處理流程的速度瓶頸。由以上說明可看出,無論是針對(duì)合并數(shù)據(jù)或殘余數(shù)據(jù),數(shù)據(jù)包裝裝置500都是將高于一特定位元量(32位元)的移位量拆解為兩個(gè)移位量,在兩個(gè)移位階段中分別達(dá)成。實(shí)際上,拆解移位量及移位階段的數(shù)量不以前述范例列舉的數(shù)值為限。針對(duì)更長的數(shù)據(jù),根據(jù)本發(fā)明的數(shù)據(jù)包裝裝置亦可進(jìn)一步包含更多(例如三個(gè)或四個(gè))移位階段或在各階段采用較大的儲(chǔ)存空間。此外,根據(jù)本發(fā)明的概念亦適用于輸入位元流的長度為固定的情況。前述實(shí)施例雖以左側(cè)為起始點(diǎn)的儲(chǔ)存空間為例,但根據(jù)本發(fā)明的概念亦可應(yīng)用于起始點(diǎn)在其他位置(例如右側(cè))的儲(chǔ)存空間。根據(jù)本發(fā)明的另一具體實(shí)施例為如圖7所示的數(shù)據(jù)包裝方法。此方法用以配合N個(gè)合并桶狀移位器;N為大于等于2的整數(shù)。首先,步驟S71為根據(jù)一先前殘余數(shù)據(jù)的長度為一目前合并數(shù)據(jù)決定一第一目標(biāo)移位量。接著,步驟S72為控制該N個(gè)合并桶狀移位器對(duì)該目前合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該第一目標(biāo)移位量,其中M為小于等于N的自然數(shù)。隨后,步驟S73為合并該先前殘余數(shù)據(jù)及經(jīng)過該N個(gè)合并桶狀移位器的該目前合并數(shù)據(jù)。
如圖8所示,根據(jù)本發(fā)明的數(shù)據(jù)包裝方法在步驟S71之前可進(jìn)一步包含步驟S74 步驟S77。步驟S74為計(jì)算該先前殘余數(shù)據(jù)的長度與一包裝數(shù)據(jù)量間的差異,做為一目標(biāo)合并長度。步驟S75為判斷該目前數(shù)據(jù)的長度是否小于等于該目標(biāo)合并長度。若步驟S75的判斷結(jié)果為是,步驟S76被執(zhí)行,以選擇該目前數(shù)據(jù)的全部做為該目前合并數(shù)據(jù)。相對(duì)地,若步驟S75的判斷結(jié)果為否,步驟S77被執(zhí)行,亦即選擇該目前數(shù)據(jù)的一部份做為該目前合并數(shù)據(jù),且令該目前合并數(shù)據(jù)的長度等于該目標(biāo)合并長度。如圖9所示,在另一實(shí)施例中,若步驟S75的判斷結(jié)果為否,步驟S77除該目前數(shù)據(jù)的一部份做為該目前合并數(shù)據(jù),更進(jìn)一步選擇該目前數(shù)據(jù)中除該目前合并數(shù)據(jù)外的部分為一目前殘余數(shù)據(jù)。在步驟S77完成后,除了步驟S71 步驟S73之外,步驟S78 步驟S79也會(huì)被執(zhí)行。步驟S78為根據(jù)該目前合并數(shù)據(jù)的長度為該目前殘余數(shù)據(jù)決定一第二目標(biāo)移位量。步驟S79則是控制該N個(gè)殘余桶狀移位器對(duì)該目前殘余數(shù)據(jù)依序施以P次桶狀移位,以達(dá)成該第二目標(biāo)移位量。須說明的是,圖7 圖9所示的數(shù)據(jù)包裝方法亦可選擇性地納入先前討論數(shù)據(jù)包裝裝置時(shí)介紹的多種變化型態(tài),其細(xì)節(jié)不再贅述。如上所述,本發(fā)明提出一種新的數(shù)據(jù)包裝裝置及數(shù)據(jù)包裝方法。藉由將一高移位量拆解為多個(gè)較小的移位量,分別在不同階段達(dá)成,根據(jù)本發(fā)明的裝置及方法能達(dá)到等同于具高移位能力的單一桶狀移位器的移位效果。此外,藉由將位元流適當(dāng)拆解為合并數(shù)據(jù)及殘余數(shù)據(jù),根據(jù)本發(fā)明的裝置及方法在接收、處理長位元流時(shí),平均而言比直接使用具高移位能力的單一桶狀移位器更有效率。藉由以上較佳具體實(shí)施例的詳述,希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所揭示的較佳具體實(shí)施例來對(duì)本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等·性的安排于本發(fā)明所欲申請(qǐng)的專利范圍的范疇內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)包裝裝置,接收一目前數(shù)據(jù),包含: N個(gè)合并桶狀移位器,其中N為大于等于2的一整數(shù); 一控制模塊,用以根據(jù)一先前殘余數(shù)據(jù)的長度決定一第一目標(biāo)移位量,并控制該N個(gè)合并桶狀移位器對(duì)一目前合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該第一目標(biāo)移位量,其中M為小于等于N的一自然數(shù);以及 一包裝模塊,用以合并該先前殘余數(shù)據(jù)及經(jīng)過該N個(gè)合并桶狀移位器的該目前合并數(shù)據(jù)為一預(yù)備包裝數(shù)據(jù); 其中該M次桶狀移位各自的一移位量皆小于一門檻值,該門檻值與一周期長度相關(guān);該目前合并數(shù)據(jù)為該目前數(shù)據(jù)的一部份或全部。
2.如權(quán)利要求1所述的數(shù)據(jù)包裝裝置,其特征在于,該N個(gè)合并桶狀移位器以管道式結(jié)構(gòu)串接,該包裝模塊還于該預(yù)備包裝數(shù)據(jù)的長度等于一預(yù)設(shè)封包長度時(shí),輸出該預(yù)備包裝數(shù)據(jù);于該預(yù)備包裝數(shù)據(jù)小于該預(yù)設(shè)封包長度時(shí),更新該預(yù)備包裝數(shù)據(jù)為該先前殘余數(shù)據(jù)。
3.如權(quán)利要求1所述的數(shù)據(jù)包裝裝置,其特征在于,若該目標(biāo)移位量大于與一周期相關(guān)的一門檻值,則M大于或等于2,且每一次該桶狀移位的一移位量被設(shè)定為小于或等于該門檻值。
4.如權(quán)利要求1所述的數(shù)據(jù)包裝裝置,其特征在于,該先前殘余數(shù)據(jù)的長度與一包裝數(shù)據(jù)量間的差異為一目標(biāo)合并長度;該控制模塊還用以判斷該目前數(shù)據(jù)的長度是否小于等于該目標(biāo)合并長度,若判斷結(jié)果為是,該控制模塊選擇該目前數(shù)據(jù)的全部做為該目前合并數(shù)據(jù),若判斷結(jié)果為否,該控制模塊選擇該目前數(shù)據(jù)的一部份做為該目前合并數(shù)據(jù),且令該目前合并數(shù)據(jù)的長度等于該目標(biāo)合并長度。
5.如權(quán)利要求4所述的數(shù)據(jù)包裝裝置,其特征在于,若判斷結(jié)果為否,該控制模塊還選擇該目前數(shù)據(jù)中除該目前合并數(shù)據(jù)外的部分為一目前殘余數(shù)據(jù);該數(shù)據(jù)包裝裝置進(jìn)一步包含: N個(gè)殘余桶狀移位器; 其中該控制模塊根據(jù)該目前合并數(shù)據(jù)的長度決定一第二目標(biāo)移位量,并控制該N個(gè)殘余桶狀移位器對(duì)該目前殘余數(shù)據(jù)依序施以P次桶狀移位,以達(dá)成該第二目標(biāo)移位量,其中P為小于等于N的一自然數(shù);該P(yáng)次桶狀移位各自的一最大移位量皆小于該門檻值。
6.一種數(shù)據(jù)包裝方法,用以接收一目前數(shù)據(jù)配合N個(gè)合并桶狀移位器運(yùn)作,N為大于等于2的一整數(shù),該方法包含: (a)根據(jù)一先前殘余數(shù)據(jù)的長度決定一第一目標(biāo)移位量; (b)控制該N個(gè)合并桶狀移位器對(duì)一目前合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該第一目標(biāo)移位量,其中M為小于等于N的一自然數(shù);以及 (c)合并該先前殘余數(shù)據(jù)及經(jīng)過該N個(gè)合并桶狀移位器的該目前合并數(shù)據(jù)為一預(yù)備包裝數(shù)據(jù); 其中該M次桶狀移位各自的一移位量皆小于一門檻值,該門檻值與一周期長度相關(guān);該目前合并數(shù)據(jù)為該目前數(shù)據(jù)的一部份或全部。
7.如權(quán)利要求6所述的數(shù)據(jù)包裝方法,其特征在于,該N個(gè)合并桶狀移位器以管道式結(jié)構(gòu)串接,還包含 在該預(yù)備包裝數(shù)據(jù)的長度等于一預(yù)設(shè)封包長度時(shí),輸出該預(yù)備包裝數(shù)據(jù);以及于該預(yù)備包裝數(shù)據(jù)小于該預(yù)設(shè)封包長度時(shí),更新該預(yù)備包裝數(shù)據(jù)為該先前殘余數(shù)據(jù)。
8.如權(quán)利要求6所述的數(shù)據(jù)包裝方法,其特征在于,若該目標(biāo)移位量大于與一周期相關(guān)的一門檻值,則M大于或等于2,且每一次該桶狀移位的一移位量被設(shè)定為小于或等于該門檻值。
9.如權(quán)利要求6所述的數(shù)據(jù)包裝方法,其特征在于,于步驟(a)的前一步包含: 計(jì)算該先前殘余數(shù)據(jù)的長度與一包裝數(shù)據(jù)量間的差異,做為一目標(biāo)合并長度; 判斷該目前數(shù)據(jù)的長度是否小于等于該目標(biāo)合并長度; 若判斷結(jié)果為是,選擇該目前數(shù)據(jù)的全部做為該目前合并數(shù)據(jù);以及 若判斷結(jié)果為否,選擇該目前數(shù)據(jù)的一部份做為該目前合并數(shù)據(jù),且令該目前合并數(shù)據(jù)的長度等于該目標(biāo)合并長度。
10.如權(quán)利要求9所述的數(shù)據(jù)包裝方法,其特征在一地,進(jìn)一步配合N個(gè)殘余桶狀移位器且包含: 若判斷結(jié)果為否,選擇該目前數(shù)據(jù)中除該目前合并數(shù)據(jù)外的部分為一目前殘余數(shù)據(jù); 根據(jù)該目前合并數(shù)據(jù)的長度決定一第二目標(biāo)移位量;以及 控制該N個(gè)殘余桶狀移位器對(duì)該目前殘余數(shù)據(jù)依序施以P次桶狀移位,以達(dá)成該第二目標(biāo)移位量,其中P為小于等于N的一自然數(shù);該P(yáng)次桶狀移位各自的一最大移位量皆小于該門檻值。
全文摘要
本發(fā)明提供一種數(shù)據(jù)包裝裝置,用以持續(xù)接收一目前數(shù)據(jù),包含N個(gè)桶狀移位器、一控制模塊及一包裝模塊。該控制模塊用以根據(jù)一先前殘余數(shù)據(jù)的長度決定一移位量,并控制該N個(gè)桶狀移位器對(duì)一目前合并數(shù)據(jù)依序施以M次桶狀移位,以達(dá)成該移位量。該包裝模塊用以合并該先前殘余數(shù)據(jù)及經(jīng)過該N個(gè)桶狀移位器的該目前合并數(shù)據(jù)。該M次桶狀移位各自的一移位量皆小于一門檻值,該門檻值與一周期長度相關(guān);該目前合并數(shù)據(jù)為該目前數(shù)據(jù)的一部份或全部。N為大于等于2的整數(shù),M為小于等于N的自然數(shù)。
文檔編號(hào)H04N7/26GK103247344SQ20121002726
公開日2013年8月14日 申請(qǐng)日期2012年2月8日 優(yōu)先權(quán)日2012年2月8日
發(fā)明者涂英杰 申請(qǐng)人:晨星軟件研發(fā)(深圳)有限公司, 晨星半導(dǎo)體股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
马公市| 清水河县| 城固县| 扎囊县| 乌拉特前旗| 庆城县| 璧山县| 永修县| 丹巴县| 遂昌县| 临安市| 凉山| 灌阳县| 柳州市| 玉林市| 上高县| 原阳县| 绥化市| 保亭| 通化市| 庆阳市| 福清市| 盈江县| 蕲春县| 宝应县| 吉首市| 尼木县| 民勤县| 承德县| 克东县| 宁德市| 清流县| 阳城县| 阿克苏市| 灵丘县| 龙江县| 南澳县| 武定县| 齐齐哈尔市| 邯郸县| 即墨市|