專利名稱::補差點數(shù)據(jù)儲存方法
技術(shù)領(lǐng)域:
:本發(fā)明是關(guān)于在視頻編碼與解碼系統(tǒng)中的補差點運算(interpolation),且特別是關(guān)于視頻編碼與解碼系統(tǒng)中的補差點數(shù)據(jù)儲存方法。
背景技術(shù):
:在目前視頻編碼與解碼系統(tǒng)中,動態(tài)估計(motionestimation)具有1/2、1/4、1/8點的精準(zhǔn)度,而此非整數(shù)點不存在于外部存儲器之中,為利用存在外部存儲器的整數(shù)點計算而來。所以在視頻編碼與解碼系統(tǒng)中,無論動態(tài)估計或動態(tài)才卜4嘗(motioncompensation),只要涉及非整凄t點的動態(tài)向量(motionvector),都會使用補差點運算。舉例而言,如圖1所示,在H.264視頻系統(tǒng)規(guī)格中,其1/2點位置像素(pixel)的值為利用六組系數(shù)(six-tap)的有限脈沖響應(yīng)濾波器(finiteimpulseresponse,簡稱為FIR)所計算出來。圖l當(dāng)中,白色方塊(如A、B、C、D等)表示整數(shù)點位置,而內(nèi)含線條的方塊(如aa、bb、h、m等)表示需要補差點運算的1/2點位置。b點位置像素的值為算式(E-5F+20G+20H-5I+J)/32的值取整數(shù)值。h點位置像素的值為算式(A-5C+20G+20M-5R+T)/32的值取整數(shù)值。由上述算式得知,計算1/2點位置像素的值需4個乘法運算。以目前最為普遍的圖像格式CIF格式(commonintermediateformat,簡稱CIF)而言,每一畫面(frame)具有352*288個像素,計算CIF格式所有1/2點位置像素的值需(703*575-352*288(整數(shù)點))*4=1,211,396個乘法運算,約120萬個乘法運算;計算所有1/8點位置像素的值約需5000萬個乘法運算。其中1/4點位置像素的值可以利用加法器與位移器,因此不列于評估。此外,在CIF格式中,所有1/2點位置具有703*575-352*288(整數(shù)點)=302,846個像素,即表示儲存所有1/2點位置像素的值約需296Kbytes的存儲器空間;儲存所有1/8點位置像素的值約需6Mbytes的存儲器空間。由于補差點為利用外部存儲器儲存的整數(shù)點推演而來,若考慮外部存儲器頻寬為16位,則為了計算1/2、1/4及1/8點位置像素的值,各需抓取整個畫面的整數(shù)點數(shù)據(jù),也就是要4爪取396*256*1.5/16=76032次。由上列敘述可知,在視頻編碼與解碼系統(tǒng)中,計算補差點的運算量與所需儲存補差點的存儲器空間所費極大,而且需多次讀取儲存整數(shù)點的外部存儲器。
發(fā)明內(nèi)容本發(fā)明提供一種補差點數(shù)據(jù)儲存方法,利用暫存區(qū)(memorybuffer)存在于高速緩存(cache)中,藉以儲存計算過的補差點數(shù)據(jù),可降低運算量與存儲器存取次數(shù)。本發(fā)明還提供一種補差點數(shù)據(jù)儲存方法,采用有效利用存儲器空間的儲存方式,藉以避免上述暫存區(qū)空間的浪費。本發(fā)明的一較佳實施例為利用動態(tài)向量差(motionvectordifference)的大小分布比例來分析圖像,藉以決定暫存區(qū)存在于高速緩存的空間大小。補差點為利用動態(tài)向量找到參考畫面的宏區(qū)塊(macroblock),藉以計算出補差點,而這些動態(tài)向量對應(yīng)參考畫面的宏區(qū)塊,在一般彼此間關(guān)聯(lián)性強的圖像會有較多重迭之處,因此利用此一暫存區(qū)儲存前些計算過的補差點,避免重復(fù)計算的運算量以及對外部存儲器讀取整數(shù)點位置像素的次數(shù)。本發(fā)明另一較佳實施例為該暫存區(qū)存在于高速緩存中的儲存方式。利用這些補差點對應(yīng)于外部存儲器內(nèi)的邏輯坐標(biāo)的小數(shù)點部分,將暫存區(qū)劃分為多個區(qū)域,使用這些區(qū)域儲存非整數(shù)點位置的補差點數(shù)據(jù)。如此不需要保留整數(shù)點位置也能在暫存區(qū)內(nèi)迅速搜尋補差點數(shù)據(jù),兼具節(jié)省高速緩存空間與提高效率的優(yōu)點。本發(fā)明還提供一種補差點數(shù)據(jù)儲存方法,包括判斷暫存區(qū)內(nèi)是否儲存非整數(shù)點的補差點數(shù)據(jù);若該暫存區(qū)已儲存該補差點數(shù)據(jù),則提供該補差點數(shù)據(jù);以及若該暫存區(qū)未儲存該補差點數(shù)據(jù),則自存儲器讀取鄰近該非整數(shù)點的整數(shù)點數(shù)據(jù),據(jù)以計算該補差點數(shù)據(jù),然后將該補差點數(shù)據(jù)存入該暫存區(qū)。本發(fā)明還提供一種補差點數(shù)據(jù)儲存方法,包括將暫存區(qū)劃分為多個區(qū)域;以及使用該些區(qū)域儲存多個非整數(shù)點的補差點數(shù)據(jù);其中,每一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分與同一區(qū)域的另一上述非整數(shù)點的對應(yīng)邏輯坐標(biāo)的小數(shù)部分皆相同。本發(fā)明還提供一種補差點數(shù)據(jù)儲存方法,包括將暫存區(qū)劃分為多個區(qū)域;使用該些區(qū)域儲存多個非整數(shù)點的補差點數(shù)據(jù),其中,每一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分與同一區(qū)域的另一上述非整數(shù)點的對應(yīng)邏輯坐標(biāo)的小數(shù)部分皆相同;若特定非整數(shù)點的補差點數(shù)據(jù)已儲存于該暫存區(qū),則直接提供該補差點數(shù)據(jù);以及若該暫存區(qū)未儲存該特定非整數(shù)點的補差點數(shù)據(jù),則自存儲器讀取鄰近該特定非整數(shù)點的整數(shù)點數(shù)據(jù),據(jù)以計算該補差點數(shù)據(jù),然后將該補差點數(shù)據(jù)存入該暫存區(qū)。為讓本發(fā)明的上述和其它目的、特征和優(yōu)點能更明顯易懂,下文特舉本發(fā)明的較佳實施例,并配合所附圖式,作詳細(xì)說明如下。圖1為一般視頻編碼與解碼系統(tǒng)的補差點運算示意圖。圖2為本發(fā)明一實施例的補差點數(shù)據(jù)暫存區(qū)示意圖。圖3及圖4為本發(fā)明一實施例的存儲地址旋轉(zhuǎn)示意圖。圖5為本發(fā)明一實施例的分區(qū)域儲存方法示意圖。[主要元件標(biāo)號說明]200:高速緩存的暫存區(qū)201、202:宏方塊203:宏方塊的重迭部分310、320:補差點數(shù)據(jù)暫存區(qū)在參考畫面的對應(yīng)邊界315、325:參考畫面的非整數(shù)點宏區(qū)塊500:補差點數(shù)據(jù)暫存區(qū)501、502、503:暫存區(qū)內(nèi)的儲存區(qū)域511、521、531:暫存區(qū)內(nèi)的非整數(shù)點數(shù)據(jù)MV1、MV2:動態(tài)向量具體實施例方式以下較佳實施例的說明以視頻編碼器或視頻解碼器為例。本實施例的視頻編碼器或視頻解碼器使用外部存儲器儲存參考畫面(referenceframe)整數(shù)點位置像素的數(shù)據(jù),并使用內(nèi)建的高速緩存做為暫存區(qū),儲存之前計算過的非整數(shù)點位置像素的值。若欲降低系統(tǒng)運算量與外部存儲器存取頻率,可以利用容量較大的高速緩存儲存計算過的補差點數(shù)據(jù),但是太大的高速緩存會造成電路面積與價格上的問題。因此本實施例使用相對較小的暫存區(qū),例如32*32像素,加上存儲地址旋轉(zhuǎn)的觀念(細(xì)節(jié)后述),就可以有效降低系統(tǒng)運算量與外部存儲器存取頻率,同時也不需要太大的高速緩存。在本實施例中,每當(dāng)需要一個非整數(shù)點的補差點數(shù)據(jù),會先判斷暫存區(qū)內(nèi)是否儲存這個非整數(shù)點的補差點數(shù)據(jù),若有儲存就直接取出使用,不用重復(fù)計算。反之,若暫存區(qū)沒儲存這個補差點數(shù)據(jù),就從外部存儲器讀取鄰近上述非整數(shù)點的整數(shù)點數(shù)據(jù),據(jù)以計算所需的補差點數(shù)據(jù),然后將計算得出的補差點凝:據(jù)存入暫存區(qū),以后就能重復(fù)使用。圖2繪示上述方法的一個范例。請參照圖2,200是用來儲存補差點數(shù)據(jù)的暫存區(qū)。假設(shè)目前畫面的某一宏區(qū)塊根據(jù)動態(tài)向量MV1對應(yīng)到參考畫面的非整數(shù)點宏區(qū)塊201,而且根據(jù)動態(tài)向量MV2對應(yīng)到參考畫面的非整數(shù)點宏區(qū)塊202。計算宏區(qū)塊201的補差點數(shù)據(jù)時,已將這些補差點邀:據(jù)存入暫存區(qū)200。當(dāng)需要宏區(qū)塊202的補差點勒:據(jù)時,兩宏區(qū)塊重迭部分203的補差點數(shù)據(jù)可由暫存區(qū)200直接提供,不用重復(fù)計算。就宏區(qū)塊202而言,原本需要31*31*4=3844個乘法運算,扣掉重迭部分203之后只需31*4-16*2=368個乘法運算,節(jié)省了約90.4%的計算量。本實施例的暫存區(qū)大小不限定32*32像素。實際上,本實施例是先統(tǒng)計至少一個視步貞數(shù)據(jù)流(videobitstream)的動態(tài)向量差(MVD:motionvectordifference)的大小分布,然后根據(jù)上述大小分布決定暫存區(qū)的大小。所謂動態(tài)向量差的大小,在此定義為動態(tài)向量差的各坐標(biāo)分量的最大值。例如某個動態(tài)向量差為(a,b),若a大于b,則此動態(tài)向量差的大小為a,否則為b。本實施例分析三個S見頻凄t據(jù)流,其名稱為News、Silent及Football,分別可以代表低頻、中頻及高頻的視頻圖像。視頻數(shù)據(jù)流News主要為播報新聞,其圖像移動變化小;視頻數(shù)據(jù)流Silent主要為手語動作,其圖像移動集中在部分區(qū)域,移動變化較News高;視頻數(shù)據(jù)流Footbal1為美式足球運動場景,運動員與球移動變化大。以上三個視頻數(shù)據(jù)流皆為CIF規(guī)格,分析結(jié)果如下列的表1所示。<table>tableseeoriginaldocumentpage8</column></row><table>表l各種視頻數(shù)據(jù)流的動態(tài)向量差分析統(tǒng)計表表l當(dāng)中,絕大部分的動態(tài)向量差皆小于32像素,所以本實施例的暫存區(qū)大小設(shè)定為32*32像素。若集中處理高頻視頻,可使用64*64像素的暫存區(qū);若集中處理低頻視頻,則16*16像素的暫存區(qū)就已經(jīng)足夠。總之暫存區(qū)大小可視動態(tài)向量差的大小分布比例做調(diào)整,例如設(shè)定暫存區(qū)的最小邊長必須大于所有視頻數(shù)據(jù)流的所有動態(tài)向量差當(dāng)中,一個預(yù)設(shè)比例的動態(tài)向量差。本實施例的暫存區(qū)是二維陣列,會對應(yīng)到參考畫面中一個同等大小的區(qū)域,因為暫存區(qū)大小有限,難免會有非整數(shù)點的宏區(qū)塊超出暫存區(qū)邊界。請參照圖3。假設(shè)暫存區(qū)原本在參考畫面中的對應(yīng)邊界為310,其左上角在參考畫面的邏輯坐標(biāo)為(2.5,3.5),右下角在參考畫面的邏輯坐標(biāo)為(34.5,35.5),以左上角為起點。邊界310可容納宏區(qū)塊315,其左上角在參考畫面的邏輯坐標(biāo)為(18.5,19.5),右下角在參考畫面的邏輯坐標(biāo)為(34.5,35.5)。宏區(qū)塊315的非整數(shù)點邏輯坐標(biāo)都是根據(jù)目前畫面的某一宏區(qū)塊與其動態(tài)向量計算得出。圖3當(dāng)中,另一宏區(qū)塊325的左上角邏輯坐標(biāo)為(20.5,21.5),右下角邏輯坐標(biāo)為(36.5,37.5)。對目前的邊界310而言,若要儲存宏區(qū)塊325的補差點數(shù)據(jù),就有部分非整數(shù)點會超出范圍。在本實施例中,若有非整數(shù)點超出暫存區(qū)邊界,就調(diào)整暫存區(qū)的起點的邏輯坐標(biāo),使這個非整數(shù)點落入暫存區(qū)的新邊界。在圖3的范例,為了容納宏區(qū)塊325的補差點數(shù)據(jù),會將暫存區(qū)的起點邏輯坐標(biāo)從(2.5,3.5)移動至(4.5,5.5),也就是將暫存區(qū)邊界從310移動至320。補差點數(shù)據(jù)在暫存區(qū)內(nèi)的存取是根據(jù)其真實坐標(biāo),暫存區(qū)內(nèi)的真實坐標(biāo)不同于參考畫面的邏輯坐標(biāo)。每當(dāng)暫存區(qū)的起點移動時,起點的邏輯坐標(biāo)與真實坐標(biāo)會同步移動,如此已儲存在暫存區(qū)內(nèi)的補差點數(shù)據(jù)就不必因為起點移動而跟隨挪移。非整數(shù)點的真實坐標(biāo)計算方法是,對上述非整數(shù)點的每一個邏輯坐標(biāo),計算此邏輯坐標(biāo)減去起點的對應(yīng)邏輯坐標(biāo)加上起點的對應(yīng)真實坐標(biāo)的結(jié)果,以上述結(jié)果作為此非整數(shù)點的此邏輯坐標(biāo)的對應(yīng)真實坐標(biāo)。上述的每一個邏輯坐標(biāo)是指對應(yīng)每一個坐標(biāo)軸的不同子坐標(biāo),而上述不同子坐標(biāo)之間的對應(yīng)關(guān)系是指對應(yīng)同一坐標(biāo)軸。例如圖3的范例中,暫存區(qū)邊界310的起點邏輯坐標(biāo)為(2.5,3.5),起點真實坐標(biāo)為[O]。宏區(qū)塊315左上角的x邏輯坐標(biāo)為18.5,將其減去起點的x邏輯坐標(biāo)2.5再加上起點的x真實坐標(biāo)O,結(jié)果為16,此即為宏區(qū)塊315左上角的x真實坐標(biāo)。同理,宏區(qū)塊315左上角的y邏輯坐標(biāo)為19.5,將其減去起點的y邏輯坐標(biāo)3.5再加上起點的y真實坐標(biāo)O,結(jié)果為16,此即為宏區(qū)塊315左上角的y真實坐標(biāo)。當(dāng)暫存區(qū)邊界從310移動至320之后,新的起點邏輯坐標(biāo)為(4.5,5.5),新的起點真實坐標(biāo)為[2][2]。將宏區(qū)塊315左上角的邏輯坐標(biāo)(18.5,19.5)減去起點邏輯坐標(biāo)(4.5,5.5)再加上起點真實坐標(biāo)[2][2],結(jié)果是同樣的真實坐標(biāo)[16][16]。從上述結(jié)果可知,由于起點的邏輯坐標(biāo)與真實坐標(biāo)同步移動,同一非整數(shù)點在邊界移動前后的真實坐標(biāo)相同,因此其補差點數(shù)據(jù)不必跟隨起點移動而在暫存區(qū)內(nèi)挪移。移動起點位置之后,非整數(shù)點的真實坐標(biāo)仍有可能超出暫存區(qū)界限,例如圖3當(dāng)中,宏區(qū)塊325右下角的真實坐標(biāo)為[34][34],超出最大可容許坐標(biāo)[31][31]。此時本實施例的對策為存儲地址旋轉(zhuǎn),如圖4所示,將真實坐標(biāo)超出暫存區(qū)右側(cè)的非整數(shù)點儲存在暫存區(qū)左側(cè),將真實坐標(biāo)超出暫存區(qū)下端的非整數(shù)點儲存在暫存區(qū)上端,反之亦然。更精確地說,就是若有非整數(shù)點的對應(yīng)某一坐標(biāo)軸的真實坐標(biāo)小于暫存區(qū)對應(yīng)同一坐標(biāo)軸的坐標(biāo)下限,則將此真實坐標(biāo)加上暫存區(qū)對應(yīng)同一坐標(biāo)軸的邊長。反之,若有非整數(shù)點的對應(yīng)某一坐標(biāo)軸的真實坐標(biāo)大于暫存區(qū)對應(yīng)同一坐標(biāo)軸的坐標(biāo)上限,則將此真實坐標(biāo)減去暫存區(qū)對應(yīng)同一坐標(biāo)軸的邊長。例如宏區(qū)塊325右上角的邏輯坐標(biāo)為(36.5,21.5),真實坐標(biāo)為[34][18],其x真實坐標(biāo)超出暫存區(qū)的x軸上限31,必須減去暫存區(qū)的x軸邊長32,然后根據(jù)調(diào)整后的真實坐標(biāo)[2][18]在暫存區(qū)內(nèi)作存取。同理,宏區(qū)塊325左下角的邏輯坐標(biāo)為(20.5,37.5),真實坐標(biāo)為[18][34],其y真實坐標(biāo)超出暫存區(qū)的y軸上限31,必須減去暫存區(qū)的y軸邊長32,然后根據(jù)調(diào)整后的真實坐標(biāo)[18][2]在暫存區(qū)內(nèi)作存取。以下請參照圖5,在圖5的暫存區(qū)500當(dāng)中,除了非整數(shù)點(以x標(biāo)示)以外,也保留了整數(shù)點的儲存位置(以o標(biāo)示)。這是為了便于在暫存區(qū)500之內(nèi)搜尋非整數(shù)點的補差點數(shù)據(jù),然而這樣會浪費存儲空間。反之,若為了節(jié)省高速緩存而不保留整數(shù)點位置,則需要較復(fù)雜的尋址運算以決定非整數(shù)點的儲存位置。為了兼顧存儲空間與運算效率,本實施例采用如圖5所示的方法,將暫存區(qū)劃分為多個區(qū)域,然后將非整數(shù)點的補差點數(shù)據(jù)分散儲存在上述區(qū)域。區(qū)域501儲存x坐標(biāo)為1/2,y坐標(biāo)為整數(shù)點的非整數(shù)點數(shù)據(jù),例如511。區(qū)域502儲存y坐標(biāo)為1/2,x坐標(biāo)為整數(shù)點的非整數(shù)點數(shù)據(jù),例如521。區(qū)域503儲存x、y坐標(biāo)皆為1/2的非整數(shù)點數(shù)據(jù),例如531。如此每個區(qū)域中的非整數(shù)點都呈規(guī)律排列,不僅容易尋址,也能避免整數(shù)點空間的存儲浪費。圖5的分區(qū)儲存方法是以1/2點為例,其實上述的分區(qū)儲存方法也適用于其它種非整數(shù)點,例如1/4點或1/8點。1/4點的暫存區(qū)應(yīng)分為42-1=15個區(qū)域,1/8點的暫存區(qū)應(yīng)分為82-1=63個區(qū)域,依此類推。一般原則是每一個區(qū)域中,每一個非整數(shù)點對應(yīng)每一個坐標(biāo)軸的邏輯坐標(biāo)的小數(shù)部分,與同一區(qū)域的另一個非整數(shù)點的對應(yīng)同一坐標(biāo)軸的邏輯坐標(biāo)的小數(shù)部分皆相同。例如圖5的區(qū)域502中,每一個非整數(shù)點的x邏輯坐標(biāo)小數(shù)部分皆為0,而且每一個非整數(shù)點的y邏輯坐標(biāo)小數(shù)部分皆為0.5。此外,每一個區(qū)域的非整數(shù)點的邏輯坐標(biāo)小數(shù)部分所構(gòu)成的集合各不相同。例如圖5的范例中,區(qū)域501的非整數(shù)點的邏輯坐標(biāo)小數(shù)部分的集合為{0.5,0},區(qū)域502為{0,0,5},區(qū)域503為(0.5,0.5},三個區(qū)域的集合各不相同。以下說明本實施例的實驗結(jié)果。本實施例的實驗環(huán)境為H.264解碼端,分別測試CIF格式的視頻數(shù)據(jù)流News、Silent以及Football,比較國際標(biāo)準(zhǔn)纟且織(ISO:InternationalStandardsOrganization)的參考石馬JM8.2以及本實施例的方法,評估計算1/2點位置像素的值所需的乘法計算量(乘法運算次數(shù))與每一畫面的存儲器存取量。實驗結(jié)果如以下的表2、表3及表4所示。從下列表格可看出,本實施例和已知的JM8.2相比,確實可降^f氐乘法計算量與存儲器存取頻率。<table>tableseeoriginaldocumentpage10</column></row><table>表2CIF視頻數(shù)據(jù)流News的實驗結(jié)果S<table>tableseeoriginaldocumentpage11</column></row><table>表4CIF視頻數(shù)據(jù)流Football的實驗結(jié)果綜上所述,本實施例采用相對較小的暫存區(qū)以儲存先前計算的補差點數(shù)據(jù),可降低補差點的運算量,降低自外部存儲器讀取整數(shù)點數(shù)據(jù)的頻率,而且不需要太大的高速緩存。本實施例也采用分區(qū)域儲存非整數(shù)點數(shù)據(jù)的方式,以維持簡易的尋址運算,并且避免浪費暫存區(qū)空間。本發(fā)明的應(yīng)用不限于視頻編碼與解碼,任何需要重復(fù)計算補差點的運算系統(tǒng)皆可應(yīng)用。計算補差點所需的整數(shù)點數(shù)據(jù)不限于取自參考畫面,也可以取自二維以上的任意數(shù)據(jù)陣列。相對于上述的運算系統(tǒng),整數(shù)點數(shù)據(jù)除了儲存在外部存儲器,也可以儲存在內(nèi)建的一般存儲器。雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視所附的權(quán)利要求范圍所界定者為準(zhǔn)。權(quán)利要求1.一種補差點數(shù)據(jù)儲存方法,包括將暫存區(qū)劃分為多個區(qū)域;以及使用該些區(qū)域儲存多個非整數(shù)點的補差點數(shù)據(jù);其中,每一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分與同一區(qū)域的另一上述非整數(shù)點的對應(yīng)邏輯坐標(biāo)的小數(shù)部分皆相同。2.根據(jù)權(quán)利要求1所述的補差點數(shù)據(jù)儲存方法,其中,每一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分的集合與不同區(qū)域的另一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分的集合皆不相同。3.根據(jù)權(quán)利要求1所述的補差點數(shù)據(jù)儲存方法,其中該補差點數(shù)據(jù)儲存方法應(yīng)用于^L頻編碼或^L頻解碼。4.根據(jù)權(quán)利要求3所述的補差點數(shù)據(jù)儲存方法,還包括統(tǒng)計至少一視頻數(shù)據(jù)流的動態(tài)向量差的大小分布;以及才艮據(jù)上述大小分布決定該暫存區(qū)的大小。5.—種補差點數(shù)據(jù)儲存方法,包括-.將暫存區(qū)劃分為多個區(qū)域;使用該些區(qū)域儲存多個非整數(shù)點的補差點數(shù)據(jù),其中,每一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分與同一區(qū)域的另一上述非整數(shù)點的對應(yīng)邏輯坐標(biāo)的小數(shù)部分皆相同;若特定非整數(shù)點的補差點數(shù)據(jù)已儲存于該暫存區(qū),則直接提供該補差點數(shù)據(jù);以及若該暫存區(qū)未儲存該特定非整數(shù)點的補差點數(shù)據(jù),則自存儲器讀取鄰近該特定非整數(shù)點的整數(shù)點數(shù)據(jù),據(jù)以計算該補差點數(shù)據(jù),然后將該補差點數(shù)據(jù)存入該暫存區(qū)。6.根據(jù)權(quán)利要求5所述的補差點數(shù)據(jù)儲存方法,其中,該暫存區(qū)儲存的每一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分的集合與不同區(qū)域的另一上述非整數(shù)點的每一邏輯坐標(biāo)的小數(shù)部分的集合皆不相同。7.根據(jù)權(quán)利要求5所述的補差點數(shù)據(jù)儲存方法,還包括若該特定非整數(shù)點超出該暫存區(qū)的邊界,則調(diào)整該暫存區(qū)的起點的邏輯坐標(biāo),使該特定非整數(shù)點落入該暫存區(qū)的邊界。8.根據(jù)權(quán)利要求7所述的補差點數(shù)據(jù)儲存方法,還包括對該特定非整數(shù)點的每一邏輯坐標(biāo),計算該邏輯坐標(biāo)減去該起點的對應(yīng)邏輯坐標(biāo)加上該起點的對應(yīng)真實坐標(biāo)的結(jié)果,以上述結(jié)果作為該特定非整數(shù)點的該邏輯坐標(biāo)的對應(yīng)真實坐標(biāo);若該特定非整數(shù)點的該真實坐標(biāo)小于該暫存區(qū)的對應(yīng)下限,則將該真實坐標(biāo)加上該暫存區(qū)的對應(yīng)邊長;若該特定非整數(shù)點的該真實坐標(biāo)大于該暫存區(qū)的對應(yīng)上限,則將該真實坐標(biāo)減去該暫存區(qū)的對應(yīng)邊長;以及使用該特定非整數(shù)點的上述真實坐標(biāo)存取該暫存區(qū)。9.根據(jù)權(quán)利要求5所述的補差點數(shù)據(jù)儲存方法,其中該補差點數(shù)據(jù)儲存方法由運算系統(tǒng)執(zhí)行,該暫存區(qū)儲存于該運算系統(tǒng)的高速緩存,儲存該些整數(shù)點數(shù)據(jù)的該存儲器為該運算系統(tǒng)的外部存儲器。10.根據(jù)權(quán)利要求9所述的補差點數(shù)據(jù)儲存方法,其中該運算系統(tǒng)為視頻編碼器或視頻解碼器,而且該補差點數(shù)據(jù)儲存方法還包括統(tǒng)計至少一視頻數(shù)據(jù)流的動態(tài)向量差的大小分布;以及才艮據(jù)上述大小分布決定該暫存區(qū)的大小。全文摘要本發(fā)明提供一種補差點數(shù)據(jù)儲存方法,運用存在于高速緩存中的暫存區(qū),以及存儲重迭記錄的觀念,儲存計算過的補差點數(shù)據(jù),避免重復(fù)計算,藉以降低系統(tǒng)運算量并降低自外部存儲器讀取整數(shù)點來計算補差點的次數(shù)。此外本發(fā)明提供此暫存區(qū)的數(shù)據(jù)儲存方式,利用存儲地址旋轉(zhuǎn)的觀念,以儲存超出暫存區(qū)邊界的補差點數(shù)據(jù)。本發(fā)明亦根據(jù)補差點坐標(biāo)小數(shù)部分的不同組合,將補差點數(shù)據(jù)分多個區(qū)域儲存,藉以節(jié)省暫存區(qū)存儲空間,而且便于在暫存區(qū)內(nèi)搜尋補差點數(shù)據(jù)。文檔編號H04N7/32GK101568032SQ20091014106公開日2009年10月28日申請日期2006年10月17日優(yōu)先權(quán)日2006年10月17日發(fā)明者高榮揚申請人:財團法人工業(yè)技術(shù)研究院