專利名稱:數(shù)字?jǐn)?shù)據(jù)的位流管理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字?jǐn)?shù)據(jù)的位流(bitstreams)管理系統(tǒng),特別涉及符合數(shù)字錄像規(guī)格(digital video specification,DV)的數(shù)字?jǐn)?shù)據(jù)的位流管理系統(tǒng)。
背景技術(shù):
已知影像的編碼器,是基于一預(yù)定的編碼格式,如動(dòng)態(tài)影像壓縮(MovingPictures Experts Groups,MPEG)、靜態(tài)影像壓縮(Joint PhotographicExperts Groups,JPEG)、或在1993年由Sony、Matsushita、Philips、Thomson等廠商主導(dǎo)推廣的數(shù)字錄像(DV)規(guī)格,將一數(shù)字?jǐn)?shù)據(jù)經(jīng)由轉(zhuǎn)換(transform)、量化(quantization)及可變長(zhǎng)度編碼(Variable Length Coding,VLC)等步驟,編碼成為多個(gè)位流,再將該多個(gè)位流依其用途,進(jìn)行后續(xù)處理。
當(dāng)該編碼器應(yīng)用于一DV裝置中時(shí),依據(jù)DV規(guī)格所編碼產(chǎn)生的該多個(gè)位流,需經(jīng)一位分配(bits assignment)裝置,將該每一位流分配至一相對(duì)應(yīng)子區(qū)塊(sub-block)中,最后形成一區(qū)段(segment)。該DV規(guī)格同時(shí)定義該區(qū)段包含5個(gè)宏區(qū)塊(macroblock),每一宏區(qū)塊包含四個(gè)亮度子區(qū)塊(luma sub-blocks)以及兩個(gè)色度子區(qū)塊(chroma sub-blocks),該每一亮度子區(qū)塊包含112個(gè)位,該每一色度子區(qū)塊包含80個(gè)位。
該位分配裝置的分配步驟部份如下所示(1)判斷該多個(gè)位流中一被分配的位流的位數(shù)目是否超過所欲分配的該相對(duì)應(yīng)子區(qū)塊的位數(shù)目;(2)若是,將該被分配的位流的一超過部份截?cái)?,再將截?cái)嗪蟮脑摫环峙涞奈涣鞣峙渲猎撓鄬?duì)應(yīng)子區(qū)塊中,之后將該超過部份暫存至一過剩位緩沖器(extra bits buffer);若否,則將該被分配的位流直接分配至該相對(duì)應(yīng)子區(qū)塊中;(3)重復(fù)執(zhí)行步驟(1)與(2),直到該多個(gè)位流均被分配至相對(duì)應(yīng)的子區(qū)塊;
(4)將該超過部份從該過剩位緩沖器中讀出,并分配至其它仍具有剩余空間的子區(qū)塊中。
在已知技術(shù)中,為了經(jīng)濟(jì)及實(shí)用上的考慮,一般該過剩位緩沖器約只有2至8K字節(jié)(byte)的存儲(chǔ)容量,因此若有一筆位流的該超過部份的位數(shù)目太大,將會(huì)占滿該過剩位緩沖器的大部分容量,甚至全部容量,致使其它筆位流的該超過部份無法存入,而被舍棄。藉此,若其它筆位流的該超過部份包含有重要訊息,將會(huì)一并喪失,導(dǎo)致后續(xù)將該數(shù)字?jǐn)?shù)據(jù)還原時(shí),失真的情況加重。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種數(shù)字?jǐn)?shù)據(jù)的位流管理系統(tǒng),以解決已知技術(shù)所出現(xiàn)的問題。
本發(fā)明的位流管理系統(tǒng)是在已知該編碼器基于一預(yù)定的編碼格式,將該數(shù)字?jǐn)?shù)據(jù)經(jīng)由轉(zhuǎn)換、量化及可變長(zhǎng)度編碼等步驟,編碼成為該多個(gè)位流后,藉由一預(yù)定的位預(yù)算政策(bit budget policy),對(duì)該多個(gè)位流進(jìn)行修正,用以減少已知具有位數(shù)目太大的該超過部份的位數(shù)目,產(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流,此作法可避免已知若有一筆的該超過部份的位數(shù)目太大,會(huì)占滿該過剩位緩沖器的大部分容量,甚至全部容量,致使其它筆的該超過部份無法存入的情形發(fā)生。
本發(fā)明是一種數(shù)字?jǐn)?shù)據(jù)的位流管理系統(tǒng),包含一編碼器、一位流截?cái)嗥?bits stream truncator)及一緩沖器(buffer)。該編碼器是將該數(shù)字?jǐn)?shù)據(jù)編碼成為多個(gè)位流。該位流截?cái)嗥骰谠擃A(yù)定的位預(yù)算政策,將該多個(gè)位流中每一個(gè)位流進(jìn)行截?cái)?truncate)或不截?cái)?,以產(chǎn)生相對(duì)應(yīng)的該多個(gè)修正位流。該緩沖器用以儲(chǔ)存該多個(gè)修正位流。
關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可以結(jié)合附圖對(duì)本發(fā)明的詳述得到進(jìn)一步的了解。
圖1是本發(fā)明第一具體實(shí)施例的位流管理系統(tǒng)的示意圖;圖2是第一具體實(shí)施例的預(yù)定的位預(yù)算政策的運(yùn)算流程圖;圖3是本發(fā)明第二具體實(shí)施例的位流管理系統(tǒng)的示意圖;和圖4是第二具體實(shí)施例的位流管理系統(tǒng)的流程圖。
附圖標(biāo)號(hào)說明10位流管理系統(tǒng) 12數(shù)字?jǐn)?shù)據(jù)14修正位流 16編碼器18位流截?cái)嗥? 20緩沖器22位流 24位流管理系統(tǒng)26位流 28分配模塊30過剩位緩沖器 32修正位流34過剩位值 36區(qū)段具體實(shí)施方式
請(qǐng)參閱圖1,圖1是本發(fā)明第一具體實(shí)施例的位流(bit streams)管理系統(tǒng)10的示意圖。第一具體實(shí)施例的位流管理系統(tǒng)10包含一編碼器16、一位流截?cái)嗥?bits stream truncator)18及一緩沖器(buffer)20。
編碼器16先將數(shù)字?jǐn)?shù)據(jù)12轉(zhuǎn)換(transform)為一頻域(frequencydomain)的數(shù)字?jǐn)?shù)據(jù)(圖未顯示),再將該頻域的數(shù)字?jǐn)?shù)據(jù)量化(quantization)為一修正數(shù)字?jǐn)?shù)據(jù)(圖未顯示),之后基于一預(yù)定的編碼格式(encoding format),例如動(dòng)態(tài)影像壓縮(Moving Pictures ExpertsGroups,MPEG)、靜態(tài)影像壓縮(Joint Photographic Experts Groups,JPEG)或數(shù)字錄像(Digital Video,DV),將該修正數(shù)字?jǐn)?shù)據(jù)編碼成為多個(gè)位流22。
位流截?cái)嗥?8基于一預(yù)定的位預(yù)算政策(bit budget policy),將多個(gè)位流22中的每一個(gè)位流22進(jìn)行截?cái)?truncate)或不截?cái)?,以產(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流14,再將多個(gè)修正位流14儲(chǔ)存在緩沖器20中。其中該位預(yù)算政策是依據(jù)緩沖器20所提供的一預(yù)算容量(圖未顯示)計(jì)算每一修正位流14的一位長(zhǎng)度(圖未顯示)。
位流截?cái)嗥?8根據(jù)該預(yù)定的位預(yù)算政策(bit budget policy)來依序檢查每一位流22,若一目前受檢的位流22不合于該位預(yù)算政策時(shí),即依據(jù)該預(yù)算容量截?cái)?truncate)目前受檢的位流22,并加上一結(jié)尾標(biāo)記(endmark),形成一相對(duì)應(yīng)的修正位流14;若目前受檢的位流22合于該位預(yù)算政策時(shí),即不截?cái)嗄壳笆軝z的位流22,并將其輸出為相對(duì)應(yīng)的修正位流14。
請(qǐng)參閱圖2,圖2是第一具體實(shí)施例的該預(yù)定的位預(yù)算政策的運(yùn)算流程圖。多個(gè)位流22共計(jì)M筆,并以第K筆位流22表示相對(duì)應(yīng)的一筆位流22,其中K=0~M-1,第K筆位流22包含NK筆數(shù)據(jù)樣本(sample),并以第L筆數(shù)據(jù)樣本表示相對(duì)應(yīng)的一筆數(shù)據(jù)樣本,其中L=0~NK-1,位流截?cái)嗥?8依序處理每一位流22及每一位流22中的該每一數(shù)據(jù)樣本,步驟如下步驟S135計(jì)算第0筆位流22相對(duì)應(yīng)的緩沖器20中的一第0筆剩余容量,計(jì)算公式如下E0=Capacity-M*QuotaE0該第0筆剩余容量;Capacity緩沖器20的總?cè)萘?;Quota一保證位長(zhǎng)度,該保證位長(zhǎng)度為緩沖器20預(yù)先保留給每一位流22的固定容量。
步驟S140計(jì)算一第K筆預(yù)算容量,其中K=0~M-1,計(jì)算公式如下BK=Quota+EKBK該第K筆預(yù)算容量;EK一第K筆剩余容量。
步驟S142判斷K是否小于M,若是,則進(jìn)行步驟S145;若否,則進(jìn)行步驟S200。
步驟S145將一第0筆暫時(shí)修正位流長(zhǎng)度(BK0)設(shè)為0。
步驟S150輸入第K筆位流22的一第L筆數(shù)據(jù)樣本,其中L=0~NK-1。
步驟S152判斷L是否小于NK,若是,則進(jìn)行步驟S155;若否,則進(jìn)行步驟S185。
步驟S155計(jì)算一第L筆暫時(shí)位長(zhǎng)度,計(jì)算公式如下TBL=BKL+TEL+EOBTBL該第L筆暫時(shí)位長(zhǎng)度;BKL該第L筆暫時(shí)修正位流長(zhǎng)度;TEL該第L筆數(shù)據(jù)樣本;EOB該結(jié)尾標(biāo)記。
步驟S160判斷TBL是否大于相對(duì)應(yīng)的BK,若是,則進(jìn)行步驟S165,若否,則進(jìn)行步驟S170。
步驟S165計(jì)算一第K筆修正位流的該位長(zhǎng)度,計(jì)算公式如下FBK=BKL+EOBFBK該第K筆修正位流的該位長(zhǎng)度。進(jìn)行步驟S185。
步驟S170計(jì)算一第L+1筆暫時(shí)修正位流長(zhǎng)度,計(jì)算公式如下BKL+1=BKL+TELBKL+1該第L+1筆暫時(shí)修正位流長(zhǎng)度。
步驟S172重復(fù)步驟S150,進(jìn)行第L+1筆數(shù)據(jù)樣本的運(yùn)算。
步驟S185輸入第K+1筆位流。
步驟S190計(jì)算第K+1筆剩余容量,計(jì)算公式如下EK+1=BK-FBK步驟S195重復(fù)步驟S140,以計(jì)算第K+1筆預(yù)算容量。
步驟S200運(yùn)算結(jié)束。
請(qǐng)參閱圖3,圖3是本發(fā)明第二具體實(shí)施例的位流管理系統(tǒng)24的示意圖。在第二具體實(shí)施例中,位流管理系統(tǒng)24應(yīng)用于DV中,多個(gè)位流26符合一數(shù)字錄像規(guī)格(digital video specification)。位流管理系統(tǒng)24除圖1所包含的編碼器16、位流截?cái)嗥?8及緩沖器20外,進(jìn)一步包含一分配模塊28,分配模塊28包含一過剩位緩沖器(extra bits buffer)30。
分配模塊28用以將儲(chǔ)存于緩沖器20的每一修正位流32分別分配至一相對(duì)應(yīng)子區(qū)塊(sub-blocks)(圖未顯示),該相對(duì)應(yīng)子區(qū)塊包含一區(qū)塊長(zhǎng)度。若一目前受分配的修正位流32的該位長(zhǎng)度超過該相對(duì)應(yīng)子區(qū)塊的區(qū)塊長(zhǎng)度時(shí),則截?cái)喑^的一過剩位值34,將該過剩位值儲(chǔ)存至過剩位緩沖器30中,并將截?cái)嗪蟮男拚涣?2加上相對(duì)應(yīng)的結(jié)尾標(biāo)記,分配至該相對(duì)應(yīng)子區(qū)塊中;若該目前受分配的修正位流的位長(zhǎng)度不超過該相對(duì)應(yīng)子區(qū)塊的區(qū)塊長(zhǎng)度時(shí),則直接分配至該相對(duì)應(yīng)子區(qū)塊中。
分配模塊28在分配每一修正位流32后,并從過剩位緩沖器30中讀出每一過剩位值34,將每一過剩位值34分配至仍具有剩余空間的子區(qū)塊中。最后將多個(gè)修正位流32的所相對(duì)應(yīng)的多個(gè)子區(qū)塊形成一區(qū)段(segment)36。區(qū)段36包含5個(gè)宏區(qū)塊(macroblock),每一宏區(qū)塊包含四個(gè)亮度子區(qū)塊(luma sub-blocks)以及兩個(gè)色度子區(qū)塊(chroma sub-blocks),該每一亮度子區(qū)塊包含112個(gè)位,該每一色度子區(qū)塊包含80個(gè)位。
在本發(fā)明圖2中的M筆多個(gè)位流22,M可以是6,即每次進(jìn)行截?cái)喑绦蚩梢允且粋€(gè)宏區(qū)塊內(nèi)的六個(gè)子區(qū)塊為循環(huán),M亦可以是30,即每次進(jìn)行截?cái)喑绦蚴且砸粋€(gè)區(qū)段內(nèi)的30個(gè)子區(qū)塊為循環(huán)。
請(qǐng)參閱圖4,圖4是第二具體實(shí)施例的位流管理系統(tǒng)24的流程圖。綜合以上所述,第二具體實(shí)施例的流程步驟如下步驟S210將數(shù)字?jǐn)?shù)據(jù)12編碼成為多個(gè)位流26。
步驟S215基于該預(yù)定的位預(yù)算政策,將多個(gè)位流26中每一個(gè)位流26進(jìn)行截?cái)?truncate)或不截?cái)?,以產(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流32。
步驟S220儲(chǔ)存多個(gè)修正位流32。
步驟S225判斷目前受分配的修正位流32是否具有過剩位值34,若是,則進(jìn)行步驟230,若否,則進(jìn)行步驟240。
步驟S230從目前受分配的修正位流32中截?cái)噙^剩位值34,并將截?cái)嗪蟮男拚涣?2加上相對(duì)應(yīng)的結(jié)尾標(biāo)記,分配至該相對(duì)應(yīng)子區(qū)塊中。
步驟S235儲(chǔ)存過剩位值34,進(jìn)行步驟245。
步驟S240將目前受分配的修正位流32直接分配至該相對(duì)應(yīng)子區(qū)塊。
步驟S245將每一過剩位值34分配至仍具有剩余空間的子區(qū)塊中。
步驟S240多個(gè)修正位流32的所相對(duì)應(yīng)的多個(gè)子區(qū)塊形成區(qū)段36。
在已知技術(shù)中,該數(shù)字?jǐn)?shù)據(jù)經(jīng)由該編碼器編碼成為該多個(gè)位流后,該位分配裝置直接進(jìn)行該多個(gè)位流的分配操作,亦即將該每一位流分配至該相對(duì)應(yīng)子區(qū)塊中,最后形成該區(qū)段。因此若該多個(gè)位流中有一筆位流的該超過部份的位數(shù)目太大,將會(huì)占滿該過剩位緩沖器的大部分容量,甚至全部容量,致使其它筆的該超過部份無法存入,而被舍棄,導(dǎo)致后續(xù)將該數(shù)字?jǐn)?shù)據(jù)還原時(shí),失真的情況加重。本發(fā)明的位流管理系統(tǒng)10、24是在分配模塊28進(jìn)行分配操作前,先以該預(yù)定的位預(yù)算政策對(duì)多個(gè)位流22、26進(jìn)行修正的操作,產(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流14、32,藉由此步驟,可事先檢查每一位流22、26,并對(duì)已知位數(shù)目太大的該超過部份進(jìn)行修正,以利后續(xù)處理。
藉由以上較佳具體實(shí)施例的詳述,是希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所披露的較佳具體實(shí)施例來對(duì)本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排于本發(fā)明的權(quán)利要求的范疇內(nèi)。
權(quán)利要求
1.一種數(shù)字?jǐn)?shù)據(jù)的位流管理系統(tǒng),包含一編碼器,將該數(shù)字?jǐn)?shù)據(jù)編碼成為多個(gè)位流;一位流截?cái)嗥?,基于一預(yù)定的位預(yù)算政策,將該多個(gè)位流中每一個(gè)位流進(jìn)行截?cái)嗷虿唤財(cái)?,以產(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流;以及一緩沖器,用以儲(chǔ)存該多個(gè)修正位流。
2.如權(quán)利要求1所述的系統(tǒng),其中該位預(yù)算政策用以計(jì)算每一修正位流的一位長(zhǎng)度。
3.如權(quán)利要求2所述的系統(tǒng),其中該位預(yù)算政策依據(jù)該緩沖器所提供的一預(yù)算容量計(jì)算每一修正位流的該位長(zhǎng)度。
4.如權(quán)利要求3所述的系統(tǒng),該預(yù)算容量基于一保證位長(zhǎng)度及一剩余容量而產(chǎn)生,其中該保證位長(zhǎng)度為該緩沖器預(yù)先保留給每一位流的固定容量,該剩余容量是相關(guān)于該緩沖器的總?cè)萘繙p去已使用的容量及需預(yù)先保留的容量。
5.如權(quán)利要求4所述的系統(tǒng),其中該位預(yù)算政策依序檢查該每一位流,若一目前受檢的位流不合于該位預(yù)算政策時(shí),即依據(jù)該預(yù)算容量截?cái)嘣撃壳笆軝z的位流,并加上一結(jié)尾標(biāo)記,形成相對(duì)應(yīng)的一修正位流,若該目前受檢的位流合于該位預(yù)算政策時(shí),即不截?cái)嘣撃壳笆軝z的位流,并將其輸出為相對(duì)應(yīng)的該修正位流。
6.如權(quán)利要求5所述的系統(tǒng),該系統(tǒng)進(jìn)一步包含一分配模塊,用以將每一修正位流分別分配至一相對(duì)應(yīng)子區(qū)塊,該相對(duì)應(yīng)子區(qū)塊包含一區(qū)塊長(zhǎng)度。
7.如權(quán)利要求6所述的系統(tǒng),該分配模塊進(jìn)一步包含一過剩位緩沖器,用以儲(chǔ)存該每一修正位流超過該相對(duì)應(yīng)子區(qū)塊的區(qū)塊長(zhǎng)度的一過剩位值。
8.如權(quán)利要求7所述的系統(tǒng),其中該多個(gè)位流系符合一數(shù)字錄像規(guī)格。
9.如權(quán)利要求8所述的系統(tǒng),該多個(gè)修正位流的所相對(duì)應(yīng)的多個(gè)子區(qū)塊形成一區(qū)段。
10.如權(quán)利要求9所述的系統(tǒng),其中該區(qū)段包含5個(gè)宏區(qū)塊,每一宏區(qū)塊包含四個(gè)亮度子區(qū)塊以及兩個(gè)色度子區(qū)塊,該每一亮度子區(qū)塊包含112個(gè)位,該每一色度子區(qū)塊包含80個(gè)位。
11.一種數(shù)字?jǐn)?shù)據(jù)的位流管理方法,包含將一數(shù)字?jǐn)?shù)據(jù)編碼成為多個(gè)位流;基于一預(yù)定的位預(yù)算政策,將該多個(gè)位流中每一個(gè)位流進(jìn)行截?cái)嗷虿唤財(cái)啵援a(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流;以及使用一緩沖器儲(chǔ)存該多個(gè)修正位流。
12.如權(quán)利要求11所述的方法,其中該位預(yù)算政策用以計(jì)算每一修正位流的一位長(zhǎng)度。
13.如權(quán)利要求12所述的方法,其中該位預(yù)算政策基于一預(yù)算容量計(jì)算每一修正位流的該位長(zhǎng)度。
14.如權(quán)利要求13所述的方法,該預(yù)算容量基于一保證位長(zhǎng)度及一剩余容量而產(chǎn)生,其中該保證位長(zhǎng)度為該緩沖器預(yù)先保留給每一位流的固定容量,該剩余容量系相關(guān)于該緩沖器的總?cè)萘繙p去已使用的容量及需預(yù)先保留的容量。
15.如權(quán)利要求14所述的方法,其中該位預(yù)算政策依序檢查該每一位流,若一目前受檢的位流不合于該位預(yù)算政策時(shí),即依據(jù)該預(yù)算容量截?cái)嘣撃壳笆軝z的位流,并加上一結(jié)尾標(biāo)記,形成相對(duì)應(yīng)的一修正位流,若該目前受檢的位流合于該位預(yù)算政策時(shí),即不截?cái)嘣撃壳笆軝z的位流,并將其輸出為相對(duì)應(yīng)的該修正位流。
16.如權(quán)利要求15所述的方法,該修正方法進(jìn)一步包含將每一修正位流分別分配至一相對(duì)應(yīng)子區(qū)塊。
17.如權(quán)利要求16所述的方法,該修正方法進(jìn)一步包含儲(chǔ)存該每一修正位流超過該相對(duì)應(yīng)子區(qū)塊的區(qū)塊長(zhǎng)度的一過剩位值。
18.如權(quán)利要求17所述的方法,其中該多個(gè)位流符合一數(shù)字錄像規(guī)格。
19.如權(quán)利要求18所述的方法,該多個(gè)修正位流的所相對(duì)應(yīng)的多個(gè)子區(qū)塊形成一區(qū)段。
20.如權(quán)利要求19所述的方法,其中該區(qū)段包含5個(gè)宏區(qū)塊,每一宏區(qū)塊包含四個(gè)亮度子區(qū)塊以及兩個(gè)色度子區(qū)塊,該每一亮度子區(qū)塊包含112個(gè)位,該每一色度子區(qū)塊包含80個(gè)位。
全文摘要
一種數(shù)字?jǐn)?shù)據(jù)的位流管理系統(tǒng),包含編碼器、位流截?cái)嗥骷熬彌_器,編碼器是將數(shù)字?jǐn)?shù)據(jù)編碼成為多個(gè)位流,位流截?cái)嗥骰谠擃A(yù)定的位預(yù)算政策,將多個(gè)位流中每一個(gè)位流進(jìn)行截?cái)嗷虿唤財(cái)?,以產(chǎn)生相對(duì)應(yīng)的多個(gè)修正位流,緩沖器用以儲(chǔ)存多個(gè)修正位流。
文檔編號(hào)H04N5/92GK1642254SQ20041000208
公開日2005年7月20日 申請(qǐng)日期2004年1月12日 優(yōu)先權(quán)日2004年1月12日
發(fā)明者呂忠晏, 陳泓輝, 黃琪惠 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司