国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      視頻解壓縮處理器中存儲器的定址方法及裝置的制作方法

      文檔序號:7566393閱讀:305來源:國知局
      專利名稱:視頻解壓縮處理器中存儲器的定址方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種視頻解壓縮處理器,并特別涉及用以在此種處理器中將一動態(tài)隨機(jī)存取存儲器(DRAM)定址的一種有效設(shè)計(jì),以減少必須將該動態(tài)隨機(jī)存取存儲器的不同行定址的次數(shù),以期取回重構(gòu)一當(dāng)前視頻幀所必需的先前視頻幀象素?cái)?shù)據(jù)。
      電視信號的數(shù)字傳輸能提供品質(zhì)高于模擬技術(shù)很多的視頻及音頻服務(wù)。數(shù)字傳輸設(shè)計(jì)尤其對經(jīng)由一套電纜電視網(wǎng)絡(luò)或者通過衛(wèi)星對有線電視網(wǎng)絡(luò)及/或直通家庭衛(wèi)星電視接收機(jī)所傳播的信號有利。所預(yù)期的是,數(shù)字電視發(fā)射機(jī)及接收機(jī)系統(tǒng)將會取代現(xiàn)行的模擬系統(tǒng),正如數(shù)字激光唱盤(CD)已取代音響工業(yè)中的模擬留聲機(jī)唱片的情形一樣。在任何數(shù)字電視系統(tǒng)中均必須傳輸大量的數(shù)字?jǐn)?shù)據(jù)。在一種數(shù)字電視系統(tǒng)中,一位用戶是經(jīng)由一接收機(jī)/反擾頻器接收數(shù)字?jǐn)?shù)據(jù)流,以便對該用戶提供視頻,音頻及數(shù)據(jù)。為期最有效率地運(yùn)用現(xiàn)有的射頻頻譜,有利的方式為壓縮這些數(shù)字電視信號,以使必須傳輸?shù)臄?shù)據(jù)量減至最少。
      一電視信號的視頻部分包括一序列一起提供一移動畫面的視頻幀。在數(shù)字電視系統(tǒng)中,一視頻幀的各行是通過一序列稱為“象素”的數(shù)字?jǐn)?shù)據(jù)位予以確定的。要確定一電視信號的每一視頻幀必需大量數(shù)據(jù)。例如,要以NTSC(國家電視系統(tǒng)委員會)分辯度提供一個視頻幀時必需7.4兆位的數(shù)據(jù)。就紅、綠、藍(lán)等主要彩色的每種彩色言,其是假定將一項(xiàng)640象素乘以480行的顯示與8位的強(qiáng)度值一起使用的情形。以PAL(行相交替)分辨度提供一個視頻幀必需9.7兆位的數(shù)據(jù)。在此種情形中,就紅、綠、藍(lán)等主要彩色的每種彩色言,其是將一項(xiàng)704象素乘以576行的顯示與8位的強(qiáng)度值一起使用的情形。為期管理這些數(shù)量的信息,必須壓縮此種數(shù)據(jù)。
      視頻壓縮技術(shù)能使數(shù)字視頻信號在傳統(tǒng)式通信信道上作有效率的傳輸。此種技術(shù)采用利用相鄰象素之間的相互關(guān)系的壓縮算法,以期獲得一視頻信號中的重要信息的更有效表示。此種最有效的壓縮系統(tǒng)不僅利用空間相互關(guān)系,而且也運(yùn)用相鄰幀之間的相似性,以進(jìn)一步壓縮該數(shù)據(jù)。在此種系統(tǒng)中,通常均只利用差分編碼來傳輸一實(shí)際幀與該實(shí)際幀預(yù)測之間的差別。該項(xiàng)預(yù)測是根據(jù)得自同一視頻序列的一先前幀。
      可在Krause及同僚的美國專利第5,057,916號;第5,068,724號;第5,091,782號;第5,093,720號;以及第5,235,419號中發(fā)現(xiàn)利用運(yùn)動補(bǔ)償?shù)囊曨l壓縮系統(tǒng)的實(shí)例。一般而言,此類運(yùn)動補(bǔ)償系統(tǒng)均是利用一種塊匹配運(yùn)動估計(jì)算法。在此種情形中,均是就一圖象的一當(dāng)前幀中的每一塊確定一運(yùn)動矢量,通過識別一先前幀中的一塊,該塊最近似該特定的當(dāng)前塊。而后,可通過傳送該對應(yīng)成對的塊之間的差別以及識別該對應(yīng)成對的塊所必需的運(yùn)動矢量在一解碼器處重構(gòu)該全部的當(dāng)前幀。常常通過壓縮這些位移的塊差別以及運(yùn)動矢量兩種信號來進(jìn)一步減少所傳輸?shù)臄?shù)據(jù)量。當(dāng)與諸如離散余弦變換(DCT)與以塊為基礎(chǔ)的空間壓縮技術(shù)結(jié)合時,塊匹配運(yùn)動估計(jì)算法均特別有效。
      可將構(gòu)成一視頻程序的一種連續(xù)性數(shù)字視頻幀的每一幀分類為一內(nèi)部幀(I-frame),預(yù)測幀(P-frame),或B-幀。該項(xiàng)預(yù)測是根據(jù)連續(xù)幀之間的時間相互關(guān)連。在一段短時間內(nèi),各幀的一部分并非彼此不同。這些編碼及解碼方法則因每種型式的幀而具有差別。最簡單的方法就是內(nèi)部幀的方法,并繼之以預(yù)測幀的方法,而后,才是B-幀的方法。
      內(nèi)部幀完全說明一單獨(dú)幀而不涉及任何其他幀。就改良式誤差掩蓋言,可將運(yùn)動矢量包含有一內(nèi)部幀。一內(nèi)部幀的一項(xiàng)誤差對顯示視頻所具的影響可能較大,因?yàn)椋A(yù)測幀及B-幀兩者均是自一內(nèi)部幀預(yù)測而來的。
      預(yù)測幀均是根據(jù)先前的內(nèi)部幀或預(yù)測幀所預(yù)測的。其參考均是自一較早內(nèi)部幀或預(yù)測幀至一未來預(yù)測幀,所以,稱為“向前預(yù)測”(forward prediction)。B-幀則是從最接近的較早內(nèi)部幀或預(yù)測幀及最接近的較遲內(nèi)部幀或預(yù)測幀所預(yù)測的。此種對一未來畫面的參考(亦即,尚未被顯示的畫面)稱為“向后預(yù)測”(backward prediction)。具有在增加壓縮率時向后預(yù)測是極有用的案例。例如,在一其中一門開啟的景象中,其當(dāng)前幀可根據(jù)一其中一門早已開啟的未來幀預(yù)測門后的景象。
      B-幀會產(chǎn)生最多壓縮但卻亦包含最多誤差。為消除誤差傳播,可能從未用其他B幀預(yù)測B幀。預(yù)測幀產(chǎn)生較少誤差與更少壓縮。內(nèi)部幀所產(chǎn)生的壓縮最少,但卻能提供進(jìn)入一視頻序列的隨機(jī)存取進(jìn)入點(diǎn)。
      被采納用于將數(shù)字視頻信號編碼的一種標(biāo)準(zhǔn)為運(yùn)動畫面專家組(MPEG)標(biāo)準(zhǔn)以及更特別的MPEG-2標(biāo)準(zhǔn)。此種標(biāo)準(zhǔn)并未指定內(nèi)部幀,預(yù)測幀及B-幀必須在一序列內(nèi)采取的任何特別分配。取而代之的是,該標(biāo)準(zhǔn)容許諸項(xiàng)不同分配,以提供不同程度的壓縮及隨機(jī)存取度。一種通用分配為具有大約每半秒的內(nèi)部幀以及連續(xù)的內(nèi)部幀或預(yù)測幀之間的兩個B-幀。為將預(yù)測幀解碼,其先前的內(nèi)部幀必須是現(xiàn)成可用的。同樣,為將B-幀解碼,這些先前及未來預(yù)測或內(nèi)部幀必須是現(xiàn)成可用的。因此,才會按從屬次序?qū)⑦@些視頻幀編碼,以便在自其預(yù)測這些幀以前,將用于預(yù)測的全部畫面編碼??稍谖募﨧C68VDP/D中發(fā)現(xiàn)此種MPEG-2(及變通式數(shù)字密碼二號[Di gi Ci pher II]標(biāo)準(zhǔn))的進(jìn)一步細(xì)節(jié)以及其在一視頻解壓縮處理器中的實(shí)施情況,該文件為摩托羅拉微處理器及存儲技術(shù)集團(tuán)1994年所發(fā)表及名稱為“MPEG-2/DCII視頻解壓縮處理器”的活頁預(yù)備資料,在此列入本文作為參考。
      為將視頻壓縮實(shí)施在實(shí)際系統(tǒng)中,每部數(shù)字電視接收機(jī)均需要一個解壓縮處理器。超大規(guī)模集成電路(VLSI)的發(fā)展現(xiàn)在正進(jìn)行中,以實(shí)施此種視頻解壓縮處理器。在諸如電視機(jī)等家電制品中,均必須將系統(tǒng)組件的成本盡可能保持低廉。有關(guān)一視頻解壓縮處理器的重要成本之一就是(i)壓縮以前緩沖壓縮數(shù)據(jù),(ii)將利用運(yùn)動估計(jì)技術(shù)預(yù)測一當(dāng)前幀所必需的先前幀數(shù)據(jù)予以儲存,以及(iii)將解壓縮數(shù)據(jù)在其輸出至諸如一電視機(jī),錄相機(jī)等視頻用品以前予以緩沖所需要的隨機(jī)存取存儲器(RAM)。
      —MPEG-2或DCII解壓縮處理器所必需且典型地用在外部動態(tài)隨機(jī)存取存儲器(DRAM)中的視頻數(shù)據(jù)存儲器的有效運(yùn)用需要能采用最小量的存儲同時并保持必需數(shù)據(jù)存取率(亦即,存儲器頻帶寬)的一種設(shè)計(jì)。典型地,是將動態(tài)隨機(jī)存取存儲器編排為一種行(亦稱為頁“面”)及列的陣列。DRAM操作規(guī)則的一項(xiàng)為一項(xiàng)行地址的變動會導(dǎo)致新的行首批數(shù)據(jù)的緩慢存取。這樣,為使DRAMI/O頻帶寬達(dá)到最大,故合適的作法為讀取數(shù)據(jù),以使它造成該行地址中的最小變化數(shù)量。這樣,有利的方法為設(shè)計(jì)存儲變換,以使行變動減至最少。為達(dá)成此種目標(biāo),有利的作法為按順序存取隨機(jī)存取存儲器中所存儲的數(shù)據(jù)。此種順序性存取是快速的,所以,是理想的。在另一方面,行地址中可能要求時常變動的隨機(jī)存取則是緩慢的,所以,也是不利的。
      在一種視頻解壓縮處理器中,諸如符合這些運(yùn)動畫面專家組(MPEG)或數(shù)字密碼器二號(DCII)標(biāo)準(zhǔn)的一種處理器,各種處理均必須DRAM存取。這些處理包含預(yù)測計(jì)算,顯示,濾包器/視頻先入先出(FIFO)寫入,以及視頻語法剖析/視頻先入先出讀取。必須將這些處理對該DRAM所作的存取請求排定優(yōu)先次序并在一實(shí)際視頻解壓縮處理器中進(jìn)行有效地伺服。雖然,理想地,是對全部處理立即提供存取,但實(shí)際上,只有一項(xiàng)處理能在任何給定的時間具有通至DRAM的存取。所以,有利的方式是將一種DRAM存儲管理設(shè)計(jì)提供在一視頻解壓縮處理器中,此種管理設(shè)計(jì)排定DRAM存取的優(yōu)先次序并使DRAMI/O頻帶寬達(dá)到最大情況。
      本發(fā)明提供了一種具有上述優(yōu)點(diǎn)的視頻解壓縮處理器,其中利用包含速率緩沖,最佳地址排序,取得統(tǒng)計(jì)平均值(亦即,在一個幀時間內(nèi)將一視頻幀解碼),DRAM請求仲裁,以及解碼細(xì)節(jié)之間的信號交換等技術(shù)來改善DRAMI/O頻帶寬。
      根據(jù)本發(fā)明,提供一種用以存儲并隨后讀取來自一諸如動態(tài)隨機(jī)存取存儲器(DRAM)等隨機(jī)存取存儲器(RAM)的象素?cái)?shù)據(jù)的方法,以減少必須將該(RAM)存儲器的不同行(“頁面”)定址的次數(shù),以期自其取回該象素?cái)?shù)據(jù)的一部分。這些取回部分有能力自該象素?cái)?shù)據(jù)所表示的一先前視頻幀重構(gòu)一當(dāng)前視頻幀。將該先前視頻幀作為多項(xiàng)畫格(tiles)存儲在該隨機(jī)存取存儲器中。每個畫格大體上填充該隨機(jī)存取存儲器的不同行并對應(yīng)于該視頻幀具有其高度為M象素及其寬度為N象素的一不同段截。將一運(yùn)動矢量解碼,以確定該先前視頻幀內(nèi)的一預(yù)測區(qū)域的位置。該預(yù)測區(qū)域所具有的高度相當(dāng)于H象素所占用的垂直空間及其寬度相當(dāng)于W象素所占用的水平空間。如果該預(yù)測區(qū)域所包含的視頻幀的畫格在一個以上(亦即,在該隨機(jī)存取存儲器的一個行以上),才會在進(jìn)行自每一后繼的畫格取回該預(yù)測區(qū)域所定界的象素?cái)?shù)據(jù)以前,從該對應(yīng)的RAM行取回來自該預(yù)測區(qū)域所定界的一個畫格的全部象素?cái)?shù)據(jù)。按此種方式才會從該隨機(jī)存取存儲器一次取回一頁由該預(yù)測區(qū)域所定界的全部象素?cái)?shù)據(jù)。由于每一畫格均對于該RAM的一行,故此種技術(shù)才會使必須依次序?qū)⒉煌卸ㄖ返拇螖?shù)減至最少,以便從該存儲器取回象素?cái)?shù)據(jù)。
      在一例示的具體實(shí)施例中,該預(yù)測區(qū)域比一個畫格更小。這樣,該預(yù)測區(qū)域的高度H小于一個畫格的高度M。同樣,該預(yù)測區(qū)域的寬度W小于一個畫格的寬度N。在一優(yōu)選實(shí)施例中,選擇大小M及N,以使M∶N的比值近似H∶W的比值。在每一畫格內(nèi)均可從該預(yù)測區(qū)域所定界的部分以曲折的次序取回象素?cái)?shù)據(jù)。
      雖然與彩色數(shù)據(jù)的對應(yīng)的亮度數(shù)據(jù)的畫格分開來存儲來自該先前視頻幀的彩色數(shù)據(jù)畫格,但卻以和這些亮度畫格一樣的相同方式完成這些彩色畫格的存儲及取回。這樣,才會將該彩色數(shù)據(jù)分配成畫格,以使每一畫格均填充該RAM的一行。好象這些亮度畫格一樣,亦可以一種曲折次序?qū)⑦@些彩色畫格定址。
      提供用以將一視頻解壓縮處理器的一隨機(jī)存取存儲器定址的裝置,以減少必須被定址的隨機(jī)存取存儲器的不同行的數(shù)目,以取回用該象素?cái)?shù)據(jù)所表示的一先前視頻幀重構(gòu)一當(dāng)前視頻幀框所必需的象素?cái)?shù)據(jù)。提供用以分配該象素?cái)?shù)據(jù)的裝置,此種象素?cái)?shù)據(jù)代表成為多個畫格的先前視頻幀。每一畫格均包含一份大體上對應(yīng)于該隨機(jī)存取存儲器的一單行容量的數(shù)據(jù)量。一名存儲器管理者產(chǎn)生寫入地址,用以在每行一格的基礎(chǔ)上將這些畫格寫入在該隨機(jī)存取存儲器中。將一運(yùn)動矢量解碼器耦合起來,以接收與被壓縮的當(dāng)前幀視頻數(shù)據(jù)相關(guān)的運(yùn)動矢量。該運(yùn)動矢量解碼器將這些運(yùn)動矢量解碼,以決定該先前視頻幀內(nèi)的預(yù)測區(qū)域的位置。與該存儲器管理者相關(guān)連的一預(yù)測地址產(chǎn)生器則可響應(yīng)該運(yùn)動矢量解碼器,用以產(chǎn)生讀取地址,以讀取來自該RAM的預(yù)測區(qū)域內(nèi)的象素?cái)?shù)據(jù)。如果一預(yù)測區(qū)域所包含的視頻幀的畫格在一個以上,該存儲器管理者以一種次序提供讀取地址,那就是在前進(jìn)至取回來自該預(yù)測區(qū)域所定界的任何其他畫格的象素?cái)?shù)據(jù)以前,取回來自該預(yù)測區(qū)域所定界的一個畫格的全部象素?cái)?shù)據(jù)。按此種方式可從該隨機(jī)存取存儲器一次一行地取回該預(yù)測區(qū)域所定界的全部象素?cái)?shù)據(jù),以使該隨機(jī)存取存儲器中的不同行的定址工作降低至最少的情況。
      該存儲器管理者對預(yù)測區(qū)域所能提供的讀取地址是在每一獨(dú)立畫格內(nèi)以一種曲折次序?qū)⒁粋€以上的畫格定界。而且,該隨機(jī)存取存儲器具有一條32位的數(shù)據(jù)總線,用以將數(shù)據(jù)寫于其上以及自其讀取數(shù)據(jù)。還可提供用以識別該隨機(jī)存取存儲器中所存儲的象素?cái)?shù)據(jù)行之間的垂直與水平“頁面”界線的裝置。此種識別裝置是與該存儲器管理者可操作地相結(jié)合的,以便當(dāng)一預(yù)測區(qū)域包含該視頻幀的一個以上畫格時促進(jìn)讀取地址的產(chǎn)生。
      在一優(yōu)選實(shí)施例中,提供至少一個速率控制緩沖器,以緩和來自該隨機(jī)存取存儲器的數(shù)據(jù)輸出。理想者為將需要對該RAM數(shù)據(jù)存取的每一項(xiàng)獨(dú)立處理提供有一種微小先入先出,以充作為該項(xiàng)處理與存儲器管理者之間的一速率控制緩沖器。
      此外,還可提供裝置,以監(jiān)測該RAM中所存儲數(shù)據(jù)的寫入及讀取工作。如果新的象素?cái)?shù)據(jù)覆寫該RAM中所存儲且是顯示所必需的象素?cái)?shù)據(jù),可對該監(jiān)測裝置響應(yīng)的裝置就會暫時停止對要被寫入RAM中的新的象素?cái)?shù)據(jù)的解碼。
      根據(jù)上文的說明,該隨機(jī)存取存儲器可被讀取,以提供用于多個視頻解碼處理的數(shù)據(jù)。在此種情況中,存儲器管理者則用一種不同優(yōu)先次序進(jìn)行每一視頻解碼處理。對每項(xiàng)不同解碼處理所分配的優(yōu)先次序?qū)⒁曉擁?xiàng)處理的數(shù)據(jù)存取需求而定。


      圖1為根據(jù)本發(fā)明的一種視頻解壓縮處理器的方框圖。
      圖2為表示如何根據(jù)本發(fā)明將一個亮度視頻幀分成畫格的示意圖。
      圖3為一個亮度畫格的示意圖。
      圖4為一個彩色畫格的示意圖。
      圖5為一種最壞案例情況的構(gòu)想圖,其中來自一預(yù)測區(qū)域的數(shù)據(jù)讀取需要四個不同存儲行被存取。
      圖6至10為表示如何視一垂直頁面界線位置而定可掃描一預(yù)測區(qū)域內(nèi)的數(shù)據(jù)部分的示意圖。
      圖11為根據(jù)本發(fā)明的一預(yù)測地址產(chǎn)生器的方框圖。
      圖12為例示一種用以實(shí)施本發(fā)明的存儲讀取設(shè)計(jì)的程序流程圖。
      圖1為含有一存儲器管理者30的一種視頻解壓縮處理器的方框圖,該管理者根據(jù)本發(fā)明將外部動態(tài)隨機(jī)存取存儲器22定址。一般表示為20的處理器為一種流水線處理器,其設(shè)計(jì)是將該傳送層(亦即,控制及其他非視頻信息)與經(jīng)由端子10所輸入的被壓縮位流的視頻層兩者解碼,該處理器有時被稱為該視頻處理器的“傳輸包接口”。
      將一用戶處理器接口提供在端子14處,以用于經(jīng)由一M總線控制器50控制該視頻數(shù)據(jù)處理器,該控制器構(gòu)成處理器20中的各種寄存器。該M總線為一雙線雙向串聯(lián)總線,以提供裝置之間的數(shù)據(jù)交換的一種簡單有效方法并可完全適合I2C總線標(biāo)準(zhǔn)。
      經(jīng)由地址線路24及數(shù)據(jù)線路26對動態(tài)隨機(jī)存取存儲器22提供一接口。在圖1所示的特定實(shí)施例中,隨機(jī)存取存儲器22具有一9位地址端口及一32位數(shù)據(jù)端口。
      就該解壓縮重構(gòu)視頻提供一視頻輸出接口38,例如,可能該重構(gòu)視頻輸出為一種標(biāo)準(zhǔn)CCIR(國際無線電咨詢委員會)656,八位,27兆赫多工制亮度(Y)及彩色(Cr,Cb)信號。
      可將一測試接口經(jīng)由端子62提供至一傳統(tǒng)JTAG(聯(lián)合測試行動組)控制器60。JTAG是一種用于控制插件板級測試的標(biāo)準(zhǔn)化界線掃描方法,以檢測封裝及插件連接中的缺陷以及內(nèi)部電路。
      視頻解壓縮處理器20經(jīng)由端子12接收一時鐘信號。該時鐘提供定時信息,例如用以使一傳輸語法剖析器32有能力從壓縮位流輸入中的傳輸包經(jīng)由端子10恢復(fù)定時信息及視頻信息。一獲取及誤差管理電路34則運(yùn)用一視頻語法剖析器40所檢測的一程序時鐘參考(PCR)及解碼時間戳記(DTS),以使畫面解碼的起始同步。此電路設(shè)定垂直同步以及提供全部視頻解碼與顯示功能的球面同步。
      將該視頻層由存儲器管理者30在外部動態(tài)隨機(jī)存取存儲器22內(nèi)所構(gòu)成的一輸入緩沖器(先入先出)中予以緩沖。視頻語法剖析器40則經(jīng)由存儲器管理者30接收來自該DRAM FIFO的壓縮視頻數(shù)據(jù)輸出,并且使運(yùn)動矢量信息與說明視頻信息的系數(shù)分離開來。并將這些系數(shù)由一Huffman解碼器52,逆量化器54,以及反離散余弦變換(IDCT)處理器56予以處理。
      將運(yùn)動矢量恢復(fù)并用來使重構(gòu)一當(dāng)前視頻幀所必需的先前解碼視頻幀定址。特別是一運(yùn)動矢量解碼器42將收自視頻語法剖析器40的運(yùn)動矢量解碼并使它們通至一預(yù)測地址產(chǎn)生器44。該預(yù)測地址產(chǎn)生器提供經(jīng)由存儲器管理者30取回必需簧片(anchor)幀數(shù)據(jù)所需要的地址信息,以使預(yù)測計(jì)算器46有能力提供重構(gòu)一當(dāng)前幀塊所必需的預(yù)測數(shù)據(jù)。差分解碼器48將此種預(yù)測數(shù)據(jù)與解碼系數(shù)數(shù)據(jù)合并,以提供解壓縮視頻數(shù)據(jù)。將此種解壓縮數(shù)據(jù)經(jīng)由存儲器管理者30儲存在DRAM22的適當(dāng)?shù)木彌_器中。
      所應(yīng)了解的是,運(yùn)動矢量解碼器42,預(yù)測地址產(chǎn)生器44,預(yù)測計(jì)算器46,差分解碼器48,Huffman解碼器52,逆量化器54及反離散余弦變換(IDCT)56所完成的視頻解壓縮處理均為傳統(tǒng)的并為現(xiàn)有技術(shù)中的熟練技術(shù)人員熟知的。這些組件并未提供本發(fā)明的任何部分。
      存儲器管理者30預(yù)定有關(guān)外部DRAM地址及數(shù)據(jù)總線24、26的全部活動的時間并根據(jù)本發(fā)明將DRAM22作有效定址。該存儲器管理者所確保的是,完全符合DRAM22的輸入先入先出部分,視頻語法剖析器40與視頻重構(gòu)電路36(以及預(yù)測計(jì)算器46和差分解碼器48)的數(shù)據(jù)轉(zhuǎn)移需求。該視頻重構(gòu)電路36計(jì)算一當(dāng)前畫面并插入封閉式字幕,一垂直間隔測試信號(VITS)以及有關(guān)視頻輸出線路38的輸出所用的測試模式數(shù)據(jù)。使該輸出顯示同步的方法是將該P(yáng)CR與一顯示時間戳記(PTS)比較。通過將一解碼時間戳記(DTS)與該顯示時間戳記比較,完成一視頻幀的解碼及顯示何時必須開始的決定。
      該存儲器管理者還提供一項(xiàng)視解碼模式而定的DRAM22先入先出部分的可變大小,例如,該解碼模式可為NTSC(國家電視系統(tǒng)委員會)或PAL(行相交替)具有或沒有雙向預(yù)測幀(B-幀)。該視頻緩沖器控制所確保的是,DRAM22所提供的先入先出并非溢出或下溢。緩沖控制為一項(xiàng)包含PCR及DTS的系統(tǒng)定時參數(shù)的函數(shù)。
      DRAM22被例示為一外部存儲器并可由多個DRAM芯片提供,諸如供一種8兆位實(shí)施情形用的2,4兆位(兆位,亦即,220位)DRAM或供一種16兆位實(shí)施情形用的4,4兆位DRAM。所應(yīng)了解的是,在未來的實(shí)施情形中,以及當(dāng)存儲器技術(shù)進(jìn)步時,才可將DRAM22提供為該視頻解壓縮處理器內(nèi)的內(nèi)部存儲器。該DRAM被映象以提供該項(xiàng)壓縮輸入視頻位流的各種解碼和輸出視頻緩沖以及一種循環(huán)先入先出。亦可利用該DRAM來提供一測試模式緩沖器,一VITS緩沖器與一封閉式字幕顯示再定序緩沖器以及儲存適當(dāng)顯示這些解碼視頻幀所必需的不同畫面結(jié)構(gòu)數(shù)據(jù)??山?jīng)由存儲器管理者30重新預(yù)置該DRAM,以便當(dāng)修正諸如視頻幀垂直大小,PAL或NTSC視頻,測試模式,8或16兆位存儲結(jié)構(gòu)的出現(xiàn),以及是否有B-幀存在等改變時,視需要提供不同的存儲映象。
      該存儲器管理者30預(yù)定有關(guān)外部DRAM總線上的全部活動的時間表,包含輸入先入先出,視頻剖析器以及視頻重構(gòu)電路的數(shù)據(jù)轉(zhuǎn)移需求在內(nèi)。該存儲器管理者也以一種傳統(tǒng)方式完成必需的DRAM更新。例如,可同時更新2個或4個外部DRAM的每一個中的同一行。
      可將一少量的先入先出提供為存儲器管理者30與存取來自DRAM22的每一組件之間的一個速率流緩沖器。例如,視頻語法剖析器40在經(jīng)由存儲器管理者30接收來自DRAM22的數(shù)據(jù)的路徑中含有一微小速率流緩沖器。該視頻語法剖析器偶而會需要一新的數(shù)據(jù)字。但是,當(dāng)需要一新字時,該剖析器則必須立刻擁有它。否則,需要來自視頻語法剖析器輸出的下游處理就會處于閑置狀況,而降低該視頻解壓縮處理器的效率。如果視頻語法剖析器40每次需要一新的數(shù)據(jù)字時均要對DRAM提出單獨(dú)的請求,就會產(chǎn)生一項(xiàng)緩慢隨機(jī)存取的結(jié)果并且會延遲剖析處理。提供該項(xiàng)速率流緩沖器時會克服此種潛在問題。例如,如果能使該速率緩沖器保持20個字的DRAM數(shù)據(jù),該視頻語法剖析器將能獲得它立即來自該速率流緩沖器的一新的數(shù)據(jù)字。當(dāng)該速率流緩沖器達(dá)到某一預(yù)定空集層級時,才會命令存儲器管理者30讀取來自該RAM的更多數(shù)據(jù)。當(dāng)侍服有關(guān)更多DRAM數(shù)據(jù)的請求時,按一種順序短脈沖群(burst)讀取數(shù)據(jù)并儲存至該速率流緩沖器直至它填滿為止。
      該速率流緩沖器有助于DRAM I/O頻帶寬及解碼器速率,因?yàn)?,通常在該DRAM的同一行內(nèi),存取均依順序并且是快速的,以及該剖析器很少會缺少數(shù)據(jù)。更特別的是,在該速流率緩沖器完全騰空以前,均可請求新的數(shù)據(jù)。
      當(dāng)將一股壓縮位流輸入至視頻解壓縮處理器20的端子10時,一次重構(gòu)一個由該位流所代表的視頻幀。初始時,均必須接收視頻數(shù)據(jù)的一完全幀并存儲在DRAM22中。后續(xù)視頻幀用的信息則可包括一子集的完全視頻幀,該子集當(dāng)被加至來自該先前視頻幀的預(yù)測數(shù)據(jù)(被存儲在DRAM22中)時將會產(chǎn)生一完全幀的重構(gòu)。當(dāng)重構(gòu)每一新的I或P視頻幀時,均將它存儲在DRAM22中,以用來作為重構(gòu)該壓縮位流中的數(shù)據(jù)所代表的一后續(xù)幀所必需的一簧片(anchor)幀以及用于按該視頻順序在適當(dāng)時間進(jìn)行顯示。當(dāng)重構(gòu)每一B-幀時,將其存儲以在適當(dāng)時間進(jìn)行顯示。本發(fā)明所取得的實(shí)際改進(jìn),是在象素的矩形“預(yù)測區(qū)域”上完成來自DRAM22的存取數(shù)據(jù)的一大部分(亦即,大約80%)。在該例示的實(shí)施例中,每一預(yù)測區(qū)域均為9象素高乘以17象素寬。采用此種大小的一預(yù)測區(qū)域(而非一8×16象素區(qū)域)時能使子象素內(nèi)插得以完成,因?yàn)椋菍⒁恍泻鸵涣屑又烈唤M兩個8×8象素的塊。該預(yù)測區(qū)域的高對寬的比率(9∶17)為大約0.53。為將DRAM22定址時所必需的行交叉數(shù)目減至最小,要根據(jù)具有一類似高對寬的比率(例如,大約0.50)的畫格將先前的幀數(shù)據(jù)存儲在該DRAM中。根據(jù)本發(fā)明所可采用的一視頻幀內(nèi)的畫格分配例示在圖2中。
      根據(jù)圖2中的實(shí)例中所表示的,將一亮度NTSC視頻幀70分成165個相等大小的“畫格”(tiles)。每一畫格72均是在兩截(slice)4宏塊的每一截片中含有8宏塊(MB)。將這些165格編排組成一個15行的陣列,每一行均包括11畫格。每一行均含有兩截,故每一視頻幀內(nèi)共有30截。每一截片均包含44個宏塊。由于具有165格且每一畫格均含有8個宏塊,故每一NTSC視頻幀中共有1320個宏塊。每一亮度宏塊均包含四個8×8象素的塊。每一象素均由8位的數(shù)據(jù)組成。劃分該視頻幀,以使每一畫格均會包含DRAM22的一行中所可保持的數(shù)據(jù)量。所應(yīng)了解的是,采用相同基本原理的其他電視格式(例如,PAL或SECAM)將會得到稍為不同規(guī)格的結(jié)果。
      在該例示的實(shí)施例中,DRAM22的每一行均保持512個32位字共計(jì)16,384位。這樣,該視頻幀的每一畫格72亦應(yīng)包含16,384位。由于每一宏塊均包含四個8×8象素塊,故該宏塊由256個8位象素組成,總計(jì)每宏塊2,048位。每畫格均包含8個這樣的宏塊,共計(jì)16,384位。這樣,圖2所示亮度視頻幀的每一畫格72的映象才會等于DRAM22的一行。
      圖3更詳細(xì)例示一個亮度畫格。如圖所示,該亮度畫格由該視頻幀的兩個不同截片部分組成。每一截片部分中均提供有四個宏塊(每個宏塊均包含4個8×8亮度塊)。由于每一DRAM位置均存儲一個32位的字,故可將四個8位亮度象素(Y)存儲在每個DRAM位置中,和圖3中的四個象素字80所例示的情形一樣。根據(jù)先前的說明,該DRAM的每一行中均具有512列,每一列均可被16進(jìn)RAM地址0-1FF的一個接通。
      除了每一視頻幀均包含和一半一樣多的彩色信息作為亮度信息外,還同樣處理該彩色數(shù)據(jù)。所以,根據(jù)圖4的例示,每一彩色畫格82均包含來自該視頻幀的四個截片部分,每一截片部分均包含四個彩色宏塊。這些彩色宏塊均為這些亮度宏塊的一半大小,所以,取代每一畫格的8個宏塊,一彩色畫格包含16個宏塊。象這些亮度畫格一樣,每一彩色畫格的映象均等于DRAM22的一行。在一種較佳實(shí)施情形中,將DRAM22劃分成用以存儲該亮度數(shù)據(jù)及該彩色數(shù)據(jù)的獨(dú)立區(qū)域并且這些色度段截一般為這些亮度段截大小的一半。根據(jù)該4象素字84所例示的,將該彩色數(shù)據(jù)儲存為交替Cb及Cr彩色成分。
      圖5例示可如何利用本發(fā)明的每行映象的一個畫格來使存儲器行地址變動的數(shù)目減所需的最少的情況,以期從該DRAM讀取一預(yù)測區(qū)域內(nèi)的一組象素?,F(xiàn)將四個相鄰畫格74,75,77和79的一部分(自圖2視頻幀70的左上角起)例示在圖5中。為簡單起見,將畫格74的全部例示在圖5中,但只表示畫格75,77及79的一部分。畫格74,75,77和79的垂直交叉點(diǎn)均沿著DRAM22的一垂直“頁面”界線92,這些畫格的水平交叉點(diǎn)均沿著該DRAM的水平“頁面”界線94。由于將一個畫格存儲在DRAM22的每一行(亦即,“頁面”)中,故每次越過一垂直或水平頁面界線時均必須將該DRAM的一新的行定址。
      為了自DRAM22中所儲存的一先前幀的象素?cái)?shù)據(jù)預(yù)測一當(dāng)前幀的象素?cái)?shù)據(jù),應(yīng)就當(dāng)前幀中所要預(yù)測的每組象素自一預(yù)定預(yù)測區(qū)域讀取這些先前的幀象素。利用與該壓縮視頻數(shù)據(jù)所一起傳輸?shù)倪\(yùn)動矢量以一種傳統(tǒng)方式設(shè)置每組象素的預(yù)測區(qū)域。現(xiàn)將一最壞案例預(yù)測區(qū)域90例示在圖5中。預(yù)測區(qū)域90代表一最壞案例方案,因?yàn)?,它涵蓋來自四個不同畫格的象素。如果例如要通過簡單地掃描其內(nèi)部的連續(xù)行來讀取此預(yù)測區(qū)域,那就必須重復(fù)橫越重直頁面界線92,從而接通該DRAM的不同行。此舉會顯著降低可自該DRAM讀取數(shù)據(jù)的速率。
      根據(jù)本發(fā)明,以一種方式掃描預(yù)測區(qū)域90,該種方式只需要四個DRAM行定址步驟,亦即,就該預(yù)測區(qū)域中所包含的每一畫格74,75,77和79而言,只需要一個新的行地址一次而已。為期完成該方式,在前進(jìn)至次一畫格以前,均讀取來自每一畫格的全部數(shù)據(jù)。該特定具體實(shí)施例采用一種在該預(yù)測區(qū)域的左上角處開始的曲折掃描模式,以取回來自位于預(yù)測區(qū)域90內(nèi)的畫格74的全部數(shù)據(jù)。而后,再掃描包含該視頻幀的畫格75的DRAM22的行直至取回來自該畫格的預(yù)測區(qū)域內(nèi)部的全部數(shù)據(jù)為止。然后,才存取與畫格77相對應(yīng)的DRAM行并取回位于預(yù)測區(qū)域90內(nèi)的畫格77中的全部數(shù)據(jù)。最后,再讀取包含畫格79的DRAM行并就該畫格取回預(yù)測區(qū)域內(nèi)的全部數(shù)據(jù)。這樣,不用重復(fù)讀取該DRAM內(nèi)的不同行,在該最壞案例中,則只需完成四次DRAM行讀取,用以自一全部預(yù)測區(qū)域恢復(fù)數(shù)數(shù)據(jù)。
      圖6至10例示可如何掃描來自該預(yù)測區(qū)域的數(shù)據(jù),視該垂直頁面界線位于該預(yù)測區(qū)域內(nèi)的情形而定。所應(yīng)了解的是,圖6至10所表示的實(shí)例僅供例示而已,并且可依據(jù)本發(fā)明采用許多其他掃描模式,在進(jìn)行至次一畫格以前,讀取來自每一畫格的全部數(shù)據(jù),從而使該DRAM內(nèi)的行讀取數(shù)目達(dá)到最少情況。
      在圖6至10中,每一塊120均代表來自一視頻幀的一畫格的一個4象素字。由參考編號100表示其垂直頁面界線(對應(yīng)于其中儲存有該畫格的DRAM中的一行變動)。在圖6中,相關(guān)預(yù)測區(qū)域包含畫格102的最后列以至畫格104的首先四列。所應(yīng)注意的是,就一處為9象素高及17象素寬的預(yù)測區(qū)域言,5個4象素寬的列(例如圖6中所表示的)足夠容納該預(yù)測區(qū)域的寬度。這樣,當(dāng)該垂直頁面界線100為圖6所示的情形被設(shè)置時,可通過首先讀取畫格102中箭頭103方向內(nèi)的全部象素恢復(fù)該預(yù)測區(qū)域內(nèi)的數(shù)據(jù),而后,將包含畫格104的DRAM行定址并以圖中所例示的曲折方式掃描來自畫格104的適用數(shù)據(jù)。
      當(dāng)該垂直頁面界線100為圖7所示的情形被設(shè)置時,則以圖中所例示的曲折方式首先讀取來自畫格106的數(shù)據(jù),而后,將包含畫格108的行予以定址,以圖中表示的曲折順序讀取來自畫格108的數(shù)據(jù)。如果該垂直頁面界線100為圖8所例示的情形被設(shè)置,可以圖中所示的次序自畫格110讀取數(shù)據(jù),而后,自畫格112讀取數(shù)據(jù)。當(dāng)該頁面界線100為圖9所示的情形被設(shè)置時,可以圖中所例示的曲折順序自畫格114讀取數(shù)據(jù),而后,可使DRAM22包含畫格116的行被定址,以便自其讀取有關(guān)數(shù)據(jù),和箭頭115所例示的情形一樣。在圖10中提供有一實(shí)例,此處并無該預(yù)測區(qū)域內(nèi)的垂直頁面界線。其整個預(yù)測區(qū)域均位于該畫格118內(nèi)。這樣,可以諸如圖中所表示的曲折順序的任何順序讀取數(shù)據(jù)。
      所強(qiáng)調(diào)的是,圖6至10中所例示的水平掃描順序僅為一實(shí)例而已,并且可根據(jù)本發(fā)明同樣易于采用諸如垂直掃描等其他技術(shù)。其主要條件為在橫越此界線進(jìn)入另一畫格以前自一個畫格讀取全部數(shù)據(jù)。
      圖11為可根據(jù)本發(fā)明所采用的預(yù)測地址產(chǎn)生器44(圖1)的一具體實(shí)施例的方框圖。將該視頻語法剖析器所剖析的來自壓縮位流的運(yùn)動矢量經(jīng)由預(yù)測地址產(chǎn)生器44的端子130輸入至一運(yùn)動矢量分類器132。該運(yùn)動矢量分類器以適當(dāng)時間對這些正確運(yùn)動矢量實(shí)施多工。一特定預(yù)測可采用高達(dá)6個不同組別(x及y)的運(yùn)動矢量,視所采用的預(yù)測模式而定。根據(jù)這些MPEG及/或DCII標(biāo)準(zhǔn)可采用的不同預(yù)測模式的實(shí)例為預(yù)測幀,預(yù)測場,特別幀,特別場,B-幀(幀或場)及雙主用模式。
      在將這些運(yùn)動矢量分類以后,將它們輸入至一分頁模式產(chǎn)生器134,以確定該當(dāng)前預(yù)測區(qū)域的垂直頁面界線所應(yīng)在的位置(如果有的話)??蓪⒃摲猪撃J疆a(chǎn)生器所需要的起始地址以Verilog碼表示如下x_start_coord[9∶0]={mb_num[5∶0],4′ho}+selected_mvx[10∶1]式中“x_start_coord”為該預(yù)測象素的起始x座標(biāo)(亦即,水平方向)。為了識別是否要使用內(nèi)插法,特提供一“細(xì)粒”(subpel)位”。該項(xiàng)selected_mxv
      就是該細(xì)粒位。在一優(yōu)選實(shí)施例中,該細(xì)粒位就是該運(yùn)動矢量的最低有效值(LSB),并于如果設(shè)定一項(xiàng)二進(jìn)位“1”時,才使用內(nèi)插法。現(xiàn)將全部可能的分頁以及識別它們的碼表示在下表中列表<
      在該表中,“X”表示一個4象素字以及“|”表示一垂直分頁的位置。由于一頁面在水平方向內(nèi)包含4個宏塊,故可用“x_start_coord”的6個最低有效位及該細(xì)粒位(selected mvx
      )確定每一垂直分頁的位置。
      在一預(yù)測區(qū)域的任何垂直界線被設(shè)置以后,一x-y偏移產(chǎn)生器136建立一種掃描模式(圖5至10中所例示的),以使將存儲該預(yù)測數(shù)據(jù)的DRAM定址時所必需的行變動數(shù)目減至最少的情況。現(xiàn)將該x-y偏移產(chǎn)生器的操作情形更詳細(xì)地參照圖12說明于下。
      致能邏輯140響應(yīng)通至端子138的各種信號輸入。這些信號包含宏塊數(shù)目,塊數(shù)目,所使用的根據(jù)運(yùn)動補(bǔ)償?shù)膱龌驇?,一運(yùn)動矢量計(jì)數(shù)與一截片同步信號,以及確定使用中的預(yù)測模式為那一種模式的信息。將該當(dāng)前截片數(shù)目經(jīng)由端子150直接輸入至一x及y座標(biāo)產(chǎn)生器148,其亦接收來自該x-y偏移產(chǎn)生器136,一塊計(jì)數(shù)器142,一宏塊計(jì)數(shù)器144以及一跳越宏塊計(jì)數(shù)器146的輸出??蓪⒃搙及y座標(biāo)產(chǎn)生器的操作以verilog碼表示如下x_coord[9∶0]={mb_num[5∶0],4′ho}+selected_mvx[10∶1]+x_offset如果(chroma_mode){y_coord[9∶0]={1′b0,slice_num,fr_b-num,2′h0)+{{4{selected_mvy[7]}},selected_mvy[6∶1]}+sc_y_offset},不然就是{y_coord[9∶0]={slice_num,fr_b_num,3′h0}+{{4(selected_mvy[7]}},selected_mvy[6∶1]}+sc_y_offset,其中slice_num為slice_vertical_position-1;“fr_b_num”(1位)只在該視頻數(shù)據(jù)的幀模式處理中以及當(dāng)正在處理該宏塊的第二雙塊對的時候才會為高;以及“sc_y_offset”就是“y_offset<<frame_mode”。所應(yīng)注意的是,在彩色(Chroma)模式中,必須將這些運(yùn)動矢量被換算以2的因子。這樣,如果亮度運(yùn)動矢量所具有的數(shù)值為2時,則該運(yùn)動矢量所具有的數(shù)值就彩色言為4塊計(jì)數(shù)器142計(jì)數(shù)該宏塊中的塊總數(shù)。該計(jì)數(shù)器包含必需予以反饋的塊總數(shù),用以求得B-幀,特別預(yù)測(DCII)以及雙主用預(yù)測模式等中的平均值。塊計(jì)數(shù)器142為三位寬并計(jì)數(shù)該宏塊內(nèi)的成對的雙8×8塊,包含這些內(nèi)插塊在內(nèi)。它被用來確定應(yīng)適用那些運(yùn)動矢量以及何時正在處理該彩色數(shù)據(jù)。
      該宏塊計(jì)數(shù)器并追蹤該截片中的宏塊數(shù)目并提供產(chǎn)生該x_coord所必需的mb_num。并對每宏塊首部增量一次以及復(fù)位至在每一截片開始處所接收的宏塊數(shù)目。該跳越宏塊計(jì)數(shù)器計(jì)數(shù)如果一誤差已發(fā)現(xiàn)在該接收數(shù)據(jù)中時必須跳越的宏塊數(shù)目。當(dāng)跳越一宏塊時,該預(yù)測地址產(chǎn)生器將求出該運(yùn)動矢量的零值,以供當(dāng)采用一B幀預(yù)測模式時預(yù)測或復(fù)用先前宏塊運(yùn)動矢量之用。同時并重新調(diào)整該塊計(jì)數(shù)器,以使求得平均值所必需的塊數(shù)目減至最少的情況。
      圖12為例示x-y偏移產(chǎn)生器136所用程序的流程圖,以實(shí)施本發(fā)明的存取讀取方案。該程序以方框160開始并通至方框162,在此處確定一關(guān)于一同步脈沖(“2blk_sync”)是否已到達(dá),以表示該預(yù)測區(qū)域內(nèi)的次對預(yù)測數(shù)據(jù)的開始。若否,該程序返回至方框162的頂部直至一“2blk_sync”脈沖到達(dá)為止。當(dāng)此發(fā)生時,如在方框164所示,將x_offset及y_offset置于0位。這些偏移均自該預(yù)測區(qū)域中的左上方象素被測量的。
      在方框166處,確定預(yù)測區(qū)域中是否具有一垂直分頁。若否(no_page-brk=y(tǒng)es),在方框168處確定當(dāng)前的4象素字是否為該預(yù)測區(qū)域內(nèi)的一水平行象素中的最后字。若是(x_offset_end=y(tǒng)es),在方框170處確定該字是否亦為該預(yù)測區(qū)域內(nèi)的垂直方向中的最后字。若是這樣(y_offset_end=y(tǒng)es),已就該預(yù)測區(qū)域取回全部象素?cái)?shù)據(jù)以及該程序回至方框162,以等待次一成對塊的到達(dá)。否則,在方框172處,該x_offset被回至零并使y_offset增量了1,因而,可讀取該預(yù)測區(qū)域內(nèi)的下一行象素?cái)?shù)據(jù)。由于該程序的此一部分關(guān)于其中沒有供處理用的垂直分布的預(yù)測區(qū)域,故該象素?cái)?shù)據(jù)的曲折掃描將會持續(xù)進(jìn)行,和圖10中所例示的情形一樣。這樣,在該預(yù)測區(qū)域內(nèi)的每一水平行的終點(diǎn)處,將該DRAM定址,以讀取來自次一行的第一字。當(dāng)讀取該數(shù)據(jù)是自該預(yù)測區(qū)域內(nèi)的一行起點(diǎn)前進(jìn)至該行終點(diǎn)時,將會使該x_offset增量了1,和圖12的方框174處所表示的情形一樣。
      如果具有一分頁有困難(no_page_brk=no)時,該程序?qū)⒆苑娇?66通往方框176,于此處確定是否現(xiàn)在正讀取來自該垂直分頁的右手側(cè)的象素,例如,來自圖6的頁面104。如是這樣,該程序在方框190處繼續(xù)進(jìn)行,于此處確定是否已到達(dá)該預(yù)測區(qū)域內(nèi)的當(dāng)前行終點(diǎn)(x_offset_end=y(tǒng)es)。如是這樣,在方框194處確定是否已讀取該預(yù)測區(qū)域中的最后行(y_offset_end=y(tǒng)es)。如是這樣,就將已讀取該預(yù)測區(qū)域內(nèi)的全部象素以及該程序回至方框162。不然,具有要被讀至該預(yù)測區(qū)域內(nèi)的分頁右方的附加行以及在方框196處將該x_offset設(shè)定至該頁面界線右方的第一字(x_offset_reg)并且使該y_offset增量了1(y_offset=y(tǒng)_offset+1)。如果方框190確定該預(yù)測區(qū)域的當(dāng)前行內(nèi)具有所要讀取的附加字,則在方框192處使該x_offset增量了1(x_offset=x_offset+1)。
      如果該程序的方框176確定現(xiàn)正讀取來自一分頁的左邊(例如,來自圖7所示頁面106的部分)的數(shù)據(jù),則在方框178處確定是否已自該當(dāng)前行讀取該分頁以前的最后字。若否,在方框180處使x_offset增量了1。如果剛好已讀取該分頁以前行的最后字,那么,在方框182處確定是否已處理該預(yù)測區(qū)域的最后行(亦即,y_offset_end=y(tǒng)es)。若否,則在方框184處將該x_offset回至零(該預(yù)測區(qū)域內(nèi)的一水平行的第一字)并使該y_offset增量了1。如果在另一方面已讀取來自一分頁的左手側(cè)邊的全部象素(例如,來自圖7的頁面106),則必需交越該分頁,以掃描該分頁右方的預(yù)測區(qū)域部分(例如,來自圖7所示的頁面108)。為做到這點(diǎn),在方框186處使該x_offset增量了1(該分頁的右方)以及將該y_offset設(shè)回至零(該預(yù)測區(qū)域內(nèi)的新畫格的左上方字)。同時并將x_offset_reg設(shè)定至x_offset,以使來自每一后續(xù)行的數(shù)據(jù)讀取均會恰好在該分頁的右方開始。
      根據(jù)上文的表示,圖12的程序?qū)嵤﹫D6至10中所例的曲折掃描指令。當(dāng)然可將其他程序予以取代,以實(shí)施不同掃描指令。根據(jù)本發(fā)明采用的任何掃描指令將會一次一畫格地讀取一預(yù)測區(qū)域內(nèi)的數(shù)據(jù),以使必須交越一分頁的次數(shù)減至最少情況,從而使必須在儲存象素?cái)?shù)據(jù)的隨機(jī)存取存儲器中被定址的新頁(亦即,行)數(shù)目減至最小情況。
      為了依實(shí)時原則將視頻幀解碼并顯示,將資料寫入DRAM22中及自其讀取時均需要調(diào)整解碼速率。否則,在顯示它以前,可能會覆寫該DRAM中所儲存供顯示用的數(shù)據(jù)。這樣,在將該幀解碼可以開始以前,需等待至一視頻幀的DTS所規(guī)定的時間為止。如果在DRAM22內(nèi)指定正被解碼的視頻幀作一段循環(huán)緩沖,不能容許其垂直位置超過來自“最后顯示場”被當(dāng)前顯示行的垂直位置(加上某些速率流緩沖作用)的一截片的解碼。該最后顯示場就是當(dāng)前正被顯示的一視頻幀的最后場。該場可能為該視頻幀的場1或場2,視例如是否將一3∶2下拉(pull down)順序正使用于膠片模式處理的情形而定。其速率流緩沖作用僅包括被加至存儲一全視頻幀所必需的以外的環(huán)式緩沖的某些額外行。該速率流緩沖器用途是當(dāng)將該畫面的一容易部分解碼時容許該解碼器向前進(jìn)行,因而,如果遇到一困難視頻部分時,使該解碼器不會落后。這會避免該系統(tǒng)企圖顯示尚未經(jīng)完全解碼的數(shù)據(jù)的狀況。
      為防止覆寫顯示所仍然需要的數(shù)據(jù),獲取及誤差管理電路34(圖1)經(jīng)由存儲器管理者30監(jiān)測DRAM22中所儲存的數(shù)據(jù)的寫入和讀取。如果被解碼數(shù)據(jù)接近覆寫顯示所必需的DRAM中所儲存的象素?cái)?shù)據(jù),電路34將會指示視頻語法剖析器40暫時停止將新的象素?cái)?shù)據(jù)解碼直至有空間可供將被解碼數(shù)據(jù)儲存在DRAM22中為止。例如,可使解碼停止的方法是通過抑制用來實(shí)施該視頻語法剖析器的一狀態(tài)機(jī)器。以此種方式新的象素?cái)?shù)據(jù)才不會覆寫顯示所仍然必需的DRAM中所儲存的象素?cái)?shù)據(jù)。一旦經(jīng)由視頻重構(gòu)電路36輸出顯示所需要的數(shù)據(jù),會重新開始該項(xiàng)解碼處理并將新的解碼數(shù)據(jù)存儲在DRAM22中的通過現(xiàn)在已被輸出供顯示用的數(shù)據(jù)而成為可用的空間內(nèi)。
      現(xiàn)在所應(yīng)了解的是,本發(fā)明是提供一種使一視頻解壓縮處理器中的隨機(jī)存取存儲器頻帶寬的運(yùn)用達(dá)到最佳情況的技術(shù)。速率緩沖最佳地址定序,求得統(tǒng)計(jì)平均值,存儲請求的仲裁以及解碼細(xì)部處理之間的信號交換等均可全部采用,以達(dá)到此種最佳情況。本發(fā)明的地址定序設(shè)計(jì)是當(dāng)讀取來自一預(yù)測區(qū)域的預(yù)測數(shù)據(jù)時使必須在該存儲器內(nèi)被定址的行數(shù)目減至最小的情況。根據(jù)本發(fā)明所采用的求取統(tǒng)計(jì)平均值則是分配整個幀的時間,以將視頻數(shù)據(jù)的每一幀解碼。所有存取該存儲器的處理的速率緩沖能使存儲器存取被有效地伺服。DRAM存取請求的優(yōu)先次序化是對數(shù)據(jù)最為密集的處理提供必需的頻帶寬,同時有較少的數(shù)據(jù)密集處理仍在等待中。信號交換促成需要可變時間的處理,以便以一種及時方式對后續(xù)處理提供數(shù)據(jù)。
      雖然已就不同特定具體實(shí)施例說明本發(fā)明,但所應(yīng)了解的是,可對其完成各種適應(yīng)及變型而未脫離由所附權(quán)項(xiàng)所定的本發(fā)明的精神及范圍。
      權(quán)利要求
      1.一種用以存儲并隨后讀取來自一隨機(jī)存取存儲器(RAM)的象素?cái)?shù)據(jù)的方法,以減少必須將該RAM的不同行定址的次數(shù),以自其取回所述象素?cái)?shù)據(jù)的一部分,所述取回部分具有用該象素?cái)?shù)據(jù)所表示的一先前視頻幀重構(gòu)一當(dāng)前視頻幀的能力,該方法所包括的步驟為將所述先前視頻幀存儲在所述RAM中作為多個畫格,每一畫格大體上均填充該RAM的一不同行并對應(yīng)于所述視頻幀的一不同段截,其高度為M個象素及寬度為N個象素;將一運(yùn)動矢量解碼,以確定所述先前視頻幀內(nèi)的一預(yù)測區(qū)域的位置,所述預(yù)測區(qū)域所具有的高度相當(dāng)于H個象素所占用的垂直空間以及其寬度相當(dāng)于W個象素所占用的水平空間;以及如果所述預(yù)測區(qū)域所包含的所述視頻幀的所述畫格在一個以上,在進(jìn)行至取回該預(yù)測區(qū)域與每一后續(xù)畫格所界定的象素?cái)?shù)據(jù)以前,取回該預(yù)測區(qū)域與一個畫格所界定的全部象素?cái)?shù)據(jù),直至一次一個畫格地取回該預(yù)測區(qū)域所界定的全部象素?cái)?shù)據(jù)為止。
      2.根據(jù)權(quán)利要求1的方法,其中所述預(yù)測區(qū)域小于一畫格,以使H<M及W<N。
      3.根據(jù)權(quán)利要求2的方法,其中所選擇的大小M及N,須使M∶N的比值近似H∶W的比值。
      4.根據(jù)權(quán)利要求1的方法,其中所選擇的大小M及N,須使M∶N的比值近似H∶W的比值。
      5.根據(jù)權(quán)利要求1的方法,其中所述取回步驟所包括的步驟為以一種曲折次序取回該預(yù)測區(qū)域中每一獨(dú)立畫格所界定的象素?cái)?shù)據(jù)。
      6.根據(jù)權(quán)利要求1的方法,其中與彩色數(shù)據(jù)的對應(yīng)的亮度數(shù)據(jù)的畫格分開來存儲來自該先前視頻幀的彩色數(shù)據(jù)畫格,但卻以和這些亮度畫格一樣的相同方式完成這些彩色畫格的存儲及取回。這樣,才會將該彩色數(shù)據(jù)分配成畫格,以使每一畫格均填充該RAM的一行。好象這些亮度畫格一樣,亦可以一種曲折次序?qū)⑦@些彩色畫格定址。
      7.一種用以將一視頻解壓縮處理器的一隨機(jī)存取存儲器(RAM)定址的裝置,以減少必須將該RAM的不同行定址的次數(shù),以取回用該象素?cái)?shù)據(jù)所代表的一先前視頻幀重構(gòu)一當(dāng)前視頻幀所需要的象素?cái)?shù)據(jù),該裝置包括用以將代表所述先前視頻幀的象素?cái)?shù)據(jù)分配成多個畫格的裝置,每一畫格所包含的數(shù)據(jù)量大體上均對應(yīng)于所述RAM的一單獨(dú)行的容量;一用以產(chǎn)生寫入地址的存儲器管理者,用以將所述畫格依每行一個畫格的原則寫入所述RAM中;以及耦合以接收與壓縮當(dāng)前視頻幀數(shù)據(jù)相關(guān)連的運(yùn)動矢量的一運(yùn)動矢量解碼器,用以將所述運(yùn)動矢量解碼,以確定所述先前視頻幀內(nèi)的預(yù)測區(qū)域的位置;所述存儲器管理者與一響應(yīng)所述運(yùn)動矢量解碼器的預(yù)測地址產(chǎn)生器相關(guān)連,用以產(chǎn)生自所述RAM讀取所述預(yù)測區(qū)域內(nèi)的象素?cái)?shù)據(jù)的讀取地址;其中如果一預(yù)測區(qū)域所包含的視頻幀的所述畫格在一個以上,則在前進(jìn)至從該預(yù)測區(qū)域所界定的任何其他畫格以前,所述存儲器管理者以一種從該預(yù)測區(qū)域所界定的一個畫格取回全部象素?cái)?shù)據(jù)的次序提供所述讀取地址,直至已一次一個畫格地取回該預(yù)測區(qū)域所界定的全部象素?cái)?shù)據(jù)為止。
      8.根據(jù)權(quán)利要求7的裝置,其中所述存儲器管理者提供預(yù)測區(qū)域的所述讀取地址,其以一種曲折次序?qū)⒚恳华?dú)立畫格內(nèi)的一個以上的畫格包圍起來。
      9.根據(jù)權(quán)利要求7的裝置,其中所述RAM具有一條32位數(shù)據(jù)總線,用以將數(shù)據(jù)寫于其上及自其讀取數(shù)據(jù)。
      10.根據(jù)權(quán)利要求7的裝置,進(jìn)一步包括用以識別所述RAM中所儲存的象素?cái)?shù)據(jù)的畫格之間的垂直及水平界線的裝置,所述識別裝置與所述存儲器管理者可操作地結(jié)合起來,以便當(dāng)一預(yù)測區(qū)域所包含的所述視頻幀的畫格在一個以上時,促進(jìn)所述讀取地址的產(chǎn)生。
      11.根據(jù)權(quán)利要求7的裝置,進(jìn)一步包括至少一個速率控制緩沖器,該緩沖器與自所述RAM輸出的緩沖數(shù)據(jù)相耦合。
      12.根據(jù)權(quán)利要求7的裝置,進(jìn)一步包括用以監(jiān)測所述RAM中所儲存數(shù)據(jù)的寫入及讀取的裝置;以及響應(yīng)所述監(jiān)測裝置的裝置,用以如果所述新的象素?cái)?shù)據(jù)覆寫所述RAM中所儲存且是顯示所必需的象素?cái)?shù)據(jù)時暫時停止將所要予以寫入所述RAM中的新象素?cái)?shù)據(jù)的解碼。
      13.根據(jù)權(quán)利要求7的裝置,其中所述RAM被讀取以提供多項(xiàng)視頻解碼處理用的數(shù)據(jù),以及所述存儲器管理者是用一種視每一所述解碼處理的數(shù)據(jù)存取需求而定的不同優(yōu)先次序進(jìn)行每一所述解碼處理。
      全文摘要
      將象素?cái)?shù)據(jù)儲存在一視頻解壓縮處理器的隨機(jī)存取存儲器(RAM)中并隨后讀取,以減少將該隨機(jī)存取存儲的不同行定址的次數(shù)。將來自一視頻幀的象素?cái)?shù)據(jù)作為多頁數(shù)據(jù)儲存在該RAM中。每頁數(shù)據(jù)大體上均填充該RAM的一不同行并對應(yīng)于該視頻幀的一不同部分。將一運(yùn)動矢量解碼以確定該視頻幀內(nèi)的一預(yù)測區(qū)域的位置。如該預(yù)測區(qū)域所包含的視頻幀象素?cái)?shù)據(jù)在一頁以上,則將該象素資料以一次取回一頁,以使將該RAM定址時所要求的行變動數(shù)目減至最小。
      文檔編號H04N7/50GK1121673SQ9510864
      公開日1996年5月1日 申請日期1995年8月14日 優(yōu)先權(quán)日1994年8月15日
      發(fā)明者克瑞斯·荷金波姆·鮑凡 申請人:美商德來懷通用儀器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1