專利名稱:視頻處理裝置和方法及介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻處理設(shè)備和方法及介質(zhì),尤其涉及可適用于對(duì)壓縮的視頻信號(hào)進(jìn)行解碼的視頻處理設(shè)備和方法及介質(zhì)。
在如上所述地分配存儲(chǔ)器地址并存儲(chǔ)視頻數(shù)據(jù)情況下,這種分配為對(duì)根據(jù)存儲(chǔ)在幀存儲(chǔ)器中的視頻數(shù)據(jù)在屏幕上顯示視頻數(shù)據(jù)情況適用的地址分配。例如,在
圖1A所示的幀存儲(chǔ)器中,當(dāng)顯示屏幕頂部的一行時(shí),由于可以連續(xù)讀出地址0000至0719中的數(shù)據(jù)(與720個(gè)象素一樣多的數(shù)據(jù)),因此,可以使頁(yè)面誤擊(mishit)的出現(xiàn)最少?!叭表?yè)(pagemis)”表示的是對(duì)設(shè)置在諸如DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)之類的存儲(chǔ)器中的檢測(cè)放大器進(jìn)行預(yù)充電所必需的時(shí)間(因此,在進(jìn)行預(yù)充電的同時(shí)不能進(jìn)行諸如數(shù)據(jù)讀取之類的處理)。
一般采用DRAM作為幀存儲(chǔ)器。DRAM是由行和列構(gòu)成的,一行由包括256(也有512等情況)×8列的蓄電器件構(gòu)成。在這些蓄電器件中,8比特器件具有8管腳的外部端子,而16比特器件具有16管腳的外部端子。它表示一個(gè)時(shí)鐘輸出的比特?cái)?shù)。在8比特器件情況下,一個(gè)時(shí)鐘輸出8個(gè)比特。在16比特情況下,一個(gè)時(shí)鐘輸出16個(gè)比特。在相同行連續(xù)提取數(shù)據(jù)。亦即,在8比特器件中,由于一行中已累積了256×8個(gè)比特,因此,可連續(xù)讀出256個(gè)時(shí)鐘的數(shù)據(jù)(256字節(jié)的數(shù)據(jù))。
在視頻解碼器等中,以宏塊為單位發(fā)送存儲(chǔ)在幀存儲(chǔ)器中的視頻數(shù)據(jù),并且解碼順序按宏塊順序設(shè)置。在一個(gè)Y宏塊中,一行由16個(gè)行構(gòu)成,其每個(gè)行由16個(gè)象素組成(因此為16字節(jié))。因此,例如在第一個(gè)Y宏塊情況下,以如下方式分割地址(取代串行地址),并存儲(chǔ)數(shù)據(jù),即,將地址0000至0015分配給第一行,將地址0720至0735分配給第二行,而將地址1440至1455分配給第三行。
在對(duì)MPEG系統(tǒng)數(shù)據(jù)流中的數(shù)字視頻信號(hào)的數(shù)據(jù)流進(jìn)行解碼情況下,在解碼設(shè)備的分析單元中首先進(jìn)行序列首標(biāo)(Sequence Header)的檢測(cè)處理。這是因?yàn)?,除非檢測(cè)到Sequence_Header,否則不能規(guī)定圖像尺寸和寬高比。
亦即,在MPEG數(shù)據(jù)流中,有這樣一種情況,其中發(fā)送SDTV(標(biāo)準(zhǔn)清晰度電視)畫面或HDTV(高清晰度電視)畫面。例如,在數(shù)字衛(wèi)星廣播中,有一種將SDTV畫面節(jié)目和HDTV畫面節(jié)目進(jìn)行多路復(fù)用并在一個(gè)通道中廣播的情況。也有一種切換SDTV畫面的節(jié)目通道和HDTV畫面的節(jié)目通道的情況。
在對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼的情況下,首先,必需設(shè)置圖像的尺寸和寬高比。在MPEG系統(tǒng)中,已將序列層確定為最高位層。在一個(gè)序列中,圖像尺寸和圖像比率是相同的。在每個(gè)序列的開頭發(fā)送Sequence_Header。已在Sequence_Header中描述了圖像尺寸、寬高比、圖像比率等。
因此,到目前為止,在對(duì)MPEG系統(tǒng)的比特流進(jìn)行解碼的情況下,為了設(shè)置圖像尺寸和寬高比,首先檢測(cè)Sequence Header。在根據(jù)Sequence_Header設(shè)置圖像尺寸和寬高比之后,從已被場(chǎng)內(nèi)編碼和幀內(nèi)編碼的第一圖像開始進(jìn)行解碼。
在提取存儲(chǔ)在一行中的數(shù)據(jù)之后,該處理過(guò)程進(jìn)到下一行,并且該設(shè)備必需等待約6個(gè)時(shí)鐘的時(shí)間進(jìn)行預(yù)充電,直到讀出存儲(chǔ)在該下一行中的數(shù)據(jù)。這樣,讀出存儲(chǔ)在另一行中的數(shù)據(jù)所必需的預(yù)充電被稱為上述“缺頁(yè)”。在前述8比特器件中,每256個(gè)時(shí)鐘出現(xiàn)一次缺頁(yè)(每當(dāng)提取256字節(jié)的數(shù)據(jù)時(shí))。在前述16比特器件中,每128個(gè)時(shí)鐘出現(xiàn)一次缺頁(yè)。應(yīng)理解的是,如上所述,當(dāng)可由一個(gè)時(shí)鐘提取的數(shù)據(jù)量增大時(shí),缺頁(yè)的出現(xiàn)次數(shù)(產(chǎn)生周期)降低。
如圖1B所示,在存儲(chǔ)視頻數(shù)據(jù),并且以如下方式逐行順序讀出數(shù)據(jù)并將其顯示的情況下,即,讀出地址0000至0719中的數(shù)據(jù),從而顯示第一水平行,并且順序讀出地址0720至1439中的數(shù)據(jù),從而顯示第二水平行的情況下,在8比特器件中每256個(gè)字節(jié)出現(xiàn)一個(gè)缺頁(yè)。由于缺頁(yè)引起損耗時(shí)間,因此,通過(guò)以盡可能使缺頁(yè)不出現(xiàn)的方式設(shè)置,可最大限度地利用存儲(chǔ)器(DRAM)的容量。
在前述錄像機(jī)情況下,以宏塊為單位存儲(chǔ)視頻數(shù)據(jù),并以宏塊為單位讀出該視頻數(shù)據(jù)。由于一個(gè)Y宏塊是如上所述由16行構(gòu)成的,因此,每當(dāng)讀出一行時(shí)出現(xiàn)缺頁(yè)。亦即,每當(dāng)讀出一個(gè)Y宏塊時(shí),出現(xiàn)16次缺頁(yè)。在色度信號(hào)(Cb,Cr)情況下,由于一個(gè)宏塊由8行構(gòu)成,而每行由8字節(jié)組成,因此,每當(dāng)讀出一個(gè)Cb(Cr)宏塊時(shí),出現(xiàn)8次缺頁(yè)。
在幀存儲(chǔ)器采用16比特器件情況下,由于相應(yīng)于一個(gè)時(shí)鐘可輸出16比特(2字節(jié))的數(shù)據(jù),因此,在Y宏塊中以每8個(gè)時(shí)鐘一次的速率出現(xiàn)缺頁(yè)。在Cb宏塊和Cr宏塊情況下,以每4個(gè)時(shí)鐘一次的速率出現(xiàn)缺頁(yè)。因此,讀出Y宏塊中的一行需要8個(gè)時(shí)鐘(Y宏塊中的一行由16個(gè)字節(jié)構(gòu)成),而讀出一個(gè)Y宏塊需要8×16個(gè)時(shí)鐘(一個(gè)Y宏塊由16行構(gòu)成)。
另一方面,假設(shè)一次缺頁(yè)花費(fèi)6個(gè)時(shí)鐘的時(shí)間,應(yīng)理解的是,由于在讀出一個(gè)Y宏塊情況下缺頁(yè)出現(xiàn)16次,因此由缺頁(yè)引起的損耗時(shí)間等于6×16個(gè)時(shí)鐘的時(shí)間。這意味著缺頁(yè)比率遠(yuǎn)大于讀出一個(gè)Y宏塊所必需的時(shí)間(8×16個(gè)宏塊)。換句話說(shuō),這意味著損耗時(shí)間較大。另外,在色度宏塊情況下,損耗時(shí)間與讀出數(shù)據(jù)所必需的時(shí)間之間的比率也較大。
在根據(jù)運(yùn)動(dòng)補(bǔ)償進(jìn)行解碼情況下也出現(xiàn)缺頁(yè)。亦即,盡管采用與要被解碼的宏塊相關(guān)的運(yùn)動(dòng)矢量在幀存儲(chǔ)器的任意位置提取了與一個(gè)宏塊一樣多的視頻數(shù)據(jù),但由于每當(dāng)以與上述情況相類似的方式讀出該宏塊的一行時(shí)地址移動(dòng)一行的量,因此出現(xiàn)缺頁(yè)。有這樣的問(wèn)題,即,如果用戶想要最大限度地發(fā)揮DRAM等的能力,則必須盡可能抑制諸如缺頁(yè)的損耗時(shí)間。
本發(fā)明是考慮到上述情況而提出的,并且其一個(gè)目的是通過(guò)以遞增順序給宏塊的視頻數(shù)據(jù)分配地址并存儲(chǔ)該數(shù)據(jù)來(lái)抑制缺頁(yè)的出現(xiàn)。
在對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼的情況下,首先,檢測(cè)Sequence_Header,并設(shè)置圖像尺寸和寬高比。然而,如果在檢測(cè)到Sequence_Header之后對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼,則有這樣的問(wèn)題,即,需占用時(shí)間來(lái)檢測(cè)Sequence_Header,并且在開始再現(xiàn)之前需要相當(dāng)長(zhǎng)的等待時(shí)間。
也就是說(shuō),MPEG系統(tǒng)的序列層是其中圖像尺寸和圖像比率相同的數(shù)據(jù)流。盡管可以最小GOP(圖像組)周期提供Sequence_Header,但是,未確定Sequence_Header的周期。因此,最大序列長(zhǎng)度等效于一個(gè)視頻數(shù)據(jù)流。所以,迄今為止,例如當(dāng)切換衛(wèi)星廣播的通道時(shí),有這樣一種情況,即,要占用時(shí)間來(lái)檢測(cè)Sequence_Header,并且在開始再現(xiàn)之前需要相當(dāng)長(zhǎng)的等待時(shí)間。
本發(fā)明的另一目的是提供一種視頻處理設(shè)備和方法,其中,當(dāng)不檢測(cè)MPEG數(shù)據(jù)流的Sequence_Header信息時(shí),預(yù)測(cè)Sequence_Header的信息并開始進(jìn)行解碼,從而能夠使MPEG數(shù)據(jù)流可被立即解碼。
根據(jù)本發(fā)明,提供了一種視頻處理設(shè)備,包括輸入裝置,用于輸入宏塊單元的視頻數(shù)據(jù);存儲(chǔ)裝置,用于以遞增順序給由輸入裝置輸入的視頻數(shù)據(jù)分配地址,并存儲(chǔ)該視頻數(shù)據(jù);以及讀取裝置,用于以遞增的地址順序讀出存儲(chǔ)在存儲(chǔ)裝置中的視頻數(shù)據(jù)。
根據(jù)本發(fā)明,提供了一種視頻處理方法,包括輸入步驟,用于輸入宏塊單元的視頻數(shù)據(jù);存儲(chǔ)步驟,用于以遞增順序給由輸入步驟輸入的視頻數(shù)據(jù)分配地址,并存儲(chǔ)該視頻數(shù)據(jù);以及讀取步驟,用于以遞增的地址順序讀出由存儲(chǔ)步驟存儲(chǔ)的視頻數(shù)據(jù)。
根據(jù)本發(fā)明,提供了一種介質(zhì)的程序,包括輸入步驟,用于輸入宏塊單元的視頻數(shù)據(jù);存儲(chǔ)步驟,用于以遞增順序給由輸入步驟輸入的視頻數(shù)據(jù)分配地址,并存儲(chǔ)該視頻數(shù)據(jù);以及讀取步驟,用于以遞增的地址順序讀出由存儲(chǔ)步驟存儲(chǔ)的視頻數(shù)據(jù)。
在上述本發(fā)明的視頻處理設(shè)備、視頻處理方法、及介質(zhì)中,以遞增順序給宏塊單元的輸入視頻數(shù)據(jù)分配地址,存儲(chǔ)該數(shù)據(jù),并以遞增的地址順序讀出所存儲(chǔ)的視頻數(shù)據(jù)。
根據(jù)本發(fā)明,提供了一種用于對(duì)具有由序列層、GOP層、圖像層、片段(slice)層、宏塊層和塊層構(gòu)成的分層結(jié)構(gòu)的視頻數(shù)據(jù)流進(jìn)行解碼的視頻處理設(shè)備,包括Sequence_Header信息預(yù)測(cè)裝置,用于根據(jù)肯定在圖像中出現(xiàn)的信息來(lái)預(yù)測(cè)Sequence_Header信息;和解碼裝置,用于當(dāng)未檢測(cè)到Sequence_Header時(shí),采用由該Sequence_Header信息預(yù)測(cè)裝置預(yù)測(cè)的信息,來(lái)對(duì)視頻數(shù)據(jù)進(jìn)行解碼。
Slice_Start_Code的第四字節(jié)表示片段的垂直位置。因此,通過(guò)檢測(cè)Slice_Start_Code的第四字節(jié)來(lái)得到屏幕垂直方向上的象素?cái)?shù)。Macroblock_Address_Increment表示宏塊的跳躍信息。因此,通過(guò)累加每次對(duì)宏塊進(jìn)行解碼時(shí)的宏塊地址增量,得到屏幕水平方向上的宏塊數(shù)。通過(guò)將其與宏塊尺寸相乘,得到屏幕水平方向上的象素?cái)?shù)。
如果采用上述預(yù)測(cè)信息對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼,則可對(duì)MPEG數(shù)據(jù)流立即解碼而不用檢測(cè)Sequence_Header。
附圖的簡(jiǎn)單說(shuō)明圖1A和1B是用于解釋傳統(tǒng)存儲(chǔ)視頻數(shù)據(jù)方法的示意圖;圖2是表示應(yīng)用本發(fā)明的視頻處理設(shè)備一實(shí)施例的結(jié)構(gòu)框圖;圖3是表示圖2中解碼單元12的詳細(xì)結(jié)構(gòu)框圖;圖4是解釋本發(fā)明存儲(chǔ)視頻數(shù)據(jù)的方法的示意圖;圖5是解釋本發(fā)明存儲(chǔ)視頻數(shù)據(jù)的方法的示意圖;圖6是解釋預(yù)測(cè)宏塊的讀取的示意圖;圖7是應(yīng)用本發(fā)明的MPEG解碼設(shè)備示例的框圖;圖8是用于解釋MPEG系統(tǒng)的分層結(jié)構(gòu)的示意圖;圖9是用于解釋片段的示意圖;圖10是表示在水平方向上圖像尺寸的預(yù)測(cè)電路結(jié)構(gòu)的功能框圖;圖11是用于解釋宏塊的示意圖;圖12是表示在垂直方向上圖像尺寸的預(yù)測(cè)電路結(jié)構(gòu)的功能框圖;圖13是音頻解碼器100一實(shí)施例結(jié)構(gòu)的框圖;圖14是從消息發(fā)送程序發(fā)送到解碼程序的消息示例的示意圖;圖15A和15B是解釋存儲(chǔ)器114中偽塊131和BBB鏈132的示意圖;圖16是解釋解碼器100的處理操作的流程圖;和圖17A至17C是解釋介質(zhì)的示意圖。
實(shí)施發(fā)明的最好形式圖2是表示用于對(duì)以MPEG系統(tǒng)編碼的數(shù)據(jù)進(jìn)行解碼的視頻處理設(shè)備的結(jié)構(gòu)框圖。由調(diào)諧器1接收到的視頻數(shù)據(jù)由解調(diào)處理單元2進(jìn)行解調(diào)處理,并由糾錯(cuò)處理單元3進(jìn)行糾錯(cuò)處理。另外,糾錯(cuò)處理過(guò)的視頻數(shù)據(jù)被發(fā)送到軟件處理單元4。軟件處理單元4是由軟件程序構(gòu)成的,該軟件程序由CPU(中央處理器)(未示出)執(zhí)行。對(duì)每個(gè)通道,軟件處理單元4中的多路分解器單元11將輸入的數(shù)據(jù)多路分解成視頻數(shù)據(jù)和音頻數(shù)據(jù)。解碼單元12根據(jù)MPEG系統(tǒng)對(duì)多路分解過(guò)的視頻數(shù)據(jù)進(jìn)行解碼。
在顯示處理單元13中,解碼單元12的輸出被例如從由HDTV表示的高清晰度電視信號(hào)掃描行數(shù)變換為NTSC(國(guó)家電視制式委員會(huì))制式的電視信號(hào)??刂破?4控制除解碼單元12外的軟件處理單元4中的每個(gè)單元,并在對(duì)視頻數(shù)據(jù)進(jìn)行處理的任意時(shí)刻使用高速緩沖存儲(chǔ)器7。DMAC(直接存儲(chǔ)器存取控制器)6控制從高速緩沖存儲(chǔ)器7到幀存儲(chǔ)器5的DMA傳送。幀存儲(chǔ)器5例如是由DRAM構(gòu)成的,并且,所存儲(chǔ)的視頻數(shù)據(jù)被輸出到視頻顯示設(shè)備(未示出)。
圖3是表示圖2中所示解碼單元12的更詳細(xì)結(jié)構(gòu)的框圖。從多路分解器單元11輸出的視頻數(shù)據(jù)被輸入到解碼單元12中的可變長(zhǎng)度解碼單元31。可變長(zhǎng)度解碼單元31對(duì)輸入的視頻數(shù)據(jù)進(jìn)行可變長(zhǎng)度解碼處理,分別向逆量化單元32輸出量化步長(zhǎng)和視頻數(shù)據(jù),向運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)單元35輸出運(yùn)動(dòng)矢量。根據(jù)從可變長(zhǎng)度解碼單元31提供的量化步長(zhǎng),逆量化單元32對(duì)被進(jìn)行過(guò)可變長(zhǎng)度編碼處理的視頻數(shù)據(jù)進(jìn)行逆量化。逆量化的視頻數(shù)據(jù)經(jīng)控制器14存儲(chǔ)在高速緩沖存儲(chǔ)器7中。
在內(nèi)宏塊(intra-macroblock)情況下,由逆DCT變換單元33進(jìn)行過(guò)逆DCT變換處理的視頻數(shù)據(jù)被原樣傳送和存儲(chǔ)到高速緩沖存儲(chǔ)器7中。在非內(nèi)宏塊情況下,運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)單元35采用由可變長(zhǎng)度解碼單元31提供的運(yùn)動(dòng)矢量和存儲(chǔ)在幀存儲(chǔ)器5中的參考視頻圖像,對(duì)預(yù)測(cè)宏塊進(jìn)行算術(shù)運(yùn)算并且視頻數(shù)據(jù)存儲(chǔ)在高速緩沖存儲(chǔ)器7中。算術(shù)運(yùn)算單元34將由逆DCT變換單元33提供的視頻數(shù)據(jù)(差分?jǐn)?shù)據(jù))和由高速緩沖存儲(chǔ)器7提供的預(yù)測(cè)宏塊相加,從而得到解碼的視頻數(shù)據(jù),并將其傳送到高速緩沖存儲(chǔ)器7。在DMAC 6的控制下,存儲(chǔ)在高速緩沖存儲(chǔ)器7中的視頻數(shù)據(jù)被傳送到幀存儲(chǔ)器5。
下面將描述圖2中所示視頻解碼設(shè)備的操作。調(diào)諧器1接收視頻數(shù)據(jù),并將其輸出到解調(diào)處理單元2。接收到該視頻數(shù)據(jù)的解調(diào)處理單元2對(duì)輸入的視頻數(shù)據(jù)進(jìn)行解調(diào)處理,并將其輸出到糾錯(cuò)處理單元3。糾錯(cuò)處理單元3對(duì)被輸入并被解調(diào)處理過(guò)的視頻數(shù)據(jù)進(jìn)行糾錯(cuò)處理,并將其輸出到軟件處理單元4。在軟件處理單元4中,所輸入的視頻數(shù)據(jù)被多路分解器單元11多路分解成視頻數(shù)據(jù)和音頻數(shù)據(jù),并且它們被輸出到解碼單元12。
解碼單元12受控制器14的控制,通過(guò)任意采用高速緩沖存儲(chǔ)器7和幀存儲(chǔ)器5對(duì)視頻數(shù)據(jù)進(jìn)行解碼,并將解碼的視頻數(shù)據(jù)輸出到顯示處理單元13。顯示處理單元13對(duì)解碼的視頻數(shù)據(jù)進(jìn)行掃描行數(shù)變換處理,并將其存儲(chǔ)在幀存儲(chǔ)器5中。存儲(chǔ)在幀存儲(chǔ)器5中的視頻數(shù)據(jù),即,經(jīng)歷過(guò)掃描行數(shù)變換處理的視頻數(shù)據(jù),被輸出到視頻顯示設(shè)備(未示出)等。
下面將描述圖3中所示將視頻數(shù)據(jù)寫入解碼單元12的幀存儲(chǔ)器5中的操作。以宏塊為單位,將數(shù)據(jù)寫入幀存儲(chǔ)器5,并從幀存儲(chǔ)器5中讀取數(shù)據(jù)。由于一個(gè)Y宏塊由16×16個(gè)象素構(gòu)成,因此,其由256個(gè)字節(jié)構(gòu)成。Cb宏塊和Cr宏塊中的每個(gè)由64(=8×8)個(gè)字節(jié)構(gòu)成。因此,如圖4中所示,至于Y宏塊按遞增順序來(lái)順序分配連續(xù)地址,并且采用如下方式存儲(chǔ)這些宏塊,即,將第一次讀取并位于屏幕左上側(cè)的Y宏塊存儲(chǔ)在幀存儲(chǔ)器5的地址0000至0255中,將接下來(lái)讀取的Y宏塊存儲(chǔ)在地址0256至0511中,而將再接下來(lái)讀取的Y宏塊存儲(chǔ)在地址0512至0768中。
類似地,如圖5所示,對(duì)于色度宏塊Cb宏塊和Cr宏塊,以遞增順序來(lái)順序分配連續(xù)地址,并以如下方式存儲(chǔ)這些宏塊,即,第一次讀取的色度宏塊被存儲(chǔ)在地址0000至0063中,接下來(lái)讀取的色度宏塊被存儲(chǔ)在地址0064至0128中。
通過(guò)存儲(chǔ)如上所述的宏塊單元視頻數(shù)據(jù),在讀出一個(gè)宏塊時(shí)絕不會(huì)在Y宏塊和Cb(Cr)宏塊兩者中出現(xiàn)缺頁(yè)。亦即,當(dāng)切換作為要被讀出的目標(biāo)的行時(shí)出現(xiàn)缺頁(yè),并且一行是由256個(gè)字節(jié)構(gòu)成的(以下,嚴(yán)格地,將256字節(jié)稱為一頁(yè)并且每個(gè)單元的定界符被稱作頁(yè)面定界符)。因此,在每次進(jìn)行256字節(jié)的讀取操作時(shí)至少出現(xiàn)一次缺頁(yè)。但是,如果如上所述地將數(shù)據(jù)存儲(chǔ)在幀存儲(chǔ)器5中,則相對(duì)于Y宏塊,每個(gè)宏塊產(chǎn)生一頁(yè)面定界符。相對(duì)于Cb(Cr)宏塊,每4個(gè)宏塊產(chǎn)生一頁(yè)面定界符。
由于為了使缺頁(yè)(損耗時(shí)間)最小而降低切換行的次數(shù)足以滿足需要,因此,可通過(guò)如上所述地將數(shù)據(jù)存儲(chǔ)到幀存儲(chǔ)器5中來(lái)降低損耗時(shí)間。
下面將針對(duì)采用運(yùn)動(dòng)補(bǔ)償矢量從其中已存儲(chǔ)視頻數(shù)據(jù)的幀存儲(chǔ)器5中提取預(yù)測(cè)視頻數(shù)據(jù)的情況進(jìn)行解釋。作為示例,將解釋將Y宏塊設(shè)置為目標(biāo)的情況。如上所述,一個(gè)Y宏塊由16×16個(gè)象素(16×16個(gè)字節(jié))構(gòu)成。
圖6是通過(guò)預(yù)測(cè)在屏幕顯示設(shè)備的屏幕上顯示的畫面表示要預(yù)測(cè)的宏塊MA_n(解碼的宏塊)與宏塊MA_m之間的位置關(guān)系的示意圖。在運(yùn)動(dòng)補(bǔ)償矢量MA_n中,圖中橫向(水平)方向上的運(yùn)動(dòng)補(bǔ)償矢量表示為x,而圖中縱向(垂直)方向上的運(yùn)動(dòng)補(bǔ)償矢量表示為y。矢量x和y用于確定水平和垂直方向上的地址偏移,應(yīng)采用這些地址偏移從宏塊MA_m的左上邊緣部分提取數(shù)據(jù)。
預(yù)測(cè)其位置無(wú)條件地由矢量x和y確定的宏塊MA_m與圖6中所示的4個(gè)宏塊相重疊的情況。如果這4個(gè)宏塊以左上至右下的順序由宏塊MA_0、宏塊MA_1、宏塊MA_2、和宏塊MA_3表示,則由下式表示要被解碼的宏塊MA_n與矢量x和y之間的關(guān)系。
MA_0=MA_n+x/16+MA_w×y/16MA_1=MA_0+1MA_2=MA_0+MA_wMA_3=MA_0+MA_2+1…(1)其中,x和y表示矢量x和y的幅度,MA_w表示在屏幕水平方向的行上排列的宏塊數(shù)。
另外,通過(guò)下式計(jì)算宏塊MA_0、MA_1、MA_2和MA_3中與宏塊MA_m重疊的部分中左上邊緣上的地址(開頭地址)。假設(shè)宏塊MA_0、MA_1、MA_2和MA_3的開頭地址分別為ad_0、ad_1、ad_2和ad_3。
ad_0=ad_MA_0+x%16+16x(Y%16)ad_1=ad_MA_1+16x(y%16)ad_2=ad_MA_2+x%16ad_3=ad_MA_3…(2)其中,ad_MA_0、ad_MA_1、ad_MA_2和ad_MA_3表示宏塊MA_0、MA_1、MA_2和MA_3的開頭地址,x%16表示將矢量x的幅度與16相除后得到的余數(shù),類似地,y%16表示將矢量y的幅度與16相除后得到的余數(shù)。
通過(guò)下式來(lái)計(jì)算宏塊MA_0、MA_1、MA_2和MA_3中與宏塊MA_m重疊的部分中的水平數(shù)據(jù)數(shù)和垂直行數(shù)。在下面的式子中,MA_0_h表示宏塊MA_m與宏塊MA_0重疊部分中的水平數(shù)據(jù)數(shù),MA_0_v表示宏塊MA_m與宏塊MA_0重疊部分中的垂直行數(shù)。其他敘述表示類似的含義。
MA_0_h=16-(x%16),MA_0_v=16-(y%16)MA_1_h=16-MA_0_h, MA_1_v=16-MA_0_vMA_2_h=MA_0_h,MA_2_v=16-MA_0_vMA_3_h=MA_1_h,MA_3_v=MA_2_v…(3)如上所述,在從4個(gè)宏塊MA_0、MA_1、MA_2和MA_3中提取數(shù)據(jù)的情況下,出現(xiàn)4次缺頁(yè)。在從相同的宏塊(一個(gè)宏塊)提取數(shù)據(jù)的情況下,不出現(xiàn)缺頁(yè)。亦即,有出現(xiàn)至少0次、最多4次缺頁(yè)的可能。
然而,在DRAM等中設(shè)置2個(gè)存儲(chǔ)組(bank),并且通過(guò)切換存儲(chǔ)組來(lái)進(jìn)行數(shù)據(jù)的寫入和讀取。在宏塊中,在每個(gè)行,數(shù)據(jù)被交替寫入不同的存儲(chǔ)組。因此,在如圖6所示采用兩個(gè)存儲(chǔ)組0和1進(jìn)行寫入的情況下,重復(fù)下面的處理即,從存儲(chǔ)組0讀出宏塊MA_0的一個(gè)水平行的數(shù)據(jù);從存儲(chǔ)組1讀出宏塊MA_2的一個(gè)水平行的數(shù)據(jù);從存儲(chǔ)組0讀出宏塊MA_1的一個(gè)水平行的數(shù)據(jù);接著,從存儲(chǔ)組1讀出宏塊MA_3的一個(gè)水平行的數(shù)據(jù)。
如果如上所述地通過(guò)切換存儲(chǔ)組0和1來(lái)讀出數(shù)據(jù),則不出現(xiàn)缺頁(yè)。亦即,由于每個(gè)存儲(chǔ)組0和1具有獨(dú)立的檢測(cè)放大器,因此,它被單獨(dú)地設(shè)置到有效狀態(tài)(預(yù)充電狀態(tài))。因此,即使連續(xù)地讀出其他存儲(chǔ)組中存儲(chǔ)的宏塊(即使通過(guò)切換存儲(chǔ)組來(lái)讀出數(shù)據(jù)),也可忽略由于切換引起的缺頁(yè)(損耗時(shí)間)。所以,僅有當(dāng)?shù)谝淮巫x出宏塊MA_0的數(shù)據(jù)時(shí)出現(xiàn)的缺頁(yè)才變成損耗時(shí)間。
盡管上述已在公式(1)至(3)中描述了讀出Y宏塊的情況,但是,在色度(Cb,Cr)宏塊情況下,在每個(gè)公式中用8替代16來(lái)進(jìn)行計(jì)算便可。
通過(guò)如上所述地寫入和讀取視頻數(shù)據(jù),在讀出一行Y宏塊所必需的時(shí)間中進(jìn)行數(shù)據(jù)傳送所需的時(shí)間等于8×16個(gè)時(shí)鐘。假設(shè)一個(gè)缺頁(yè)的時(shí)間等于6個(gè)時(shí)鐘,則由于缺頁(yè)引起的損耗時(shí)間等于6×1個(gè)時(shí)鐘,因此,可以降低由于缺頁(yè)引起的損耗時(shí)間與數(shù)據(jù)傳送時(shí)間之比。類似地,即使在讀出一個(gè)Cb(Cr)宏塊的情況下,也可以降低由于缺頁(yè)引起的損耗時(shí)間與數(shù)據(jù)傳送時(shí)間之比。
下面將描述在將視頻數(shù)據(jù)輸出到視頻顯示設(shè)備(未示出)情況下的處理。在以如下方式存儲(chǔ)宏塊單元的視頻數(shù)據(jù)的情況下,即,屏幕上的數(shù)據(jù)排列和幀存儲(chǔ)器中的數(shù)據(jù)排列與圖1B所示的相同,通過(guò)以遞增的地址順序讀出數(shù)據(jù)來(lái)進(jìn)行視頻顯示。但是,在如圖4(圖5)所示以一行或二行地存儲(chǔ)宏塊的情況下,不能通過(guò)通過(guò)以遞增的地址順序讀出數(shù)據(jù)來(lái)顯示視頻圖像。
換言之,在如圖1B所示地存儲(chǔ)視頻數(shù)據(jù)情況下,從每個(gè)宏塊中讀出16個(gè)象素的視頻數(shù)據(jù),以便在屏幕上顯示一行。即使自如圖4(圖5)所示地存儲(chǔ)視頻數(shù)據(jù)的情況下,也已從每個(gè)宏塊類似地讀出每16個(gè)字節(jié)的視頻數(shù)據(jù)。采用該方法,每當(dāng)讀出16個(gè)字節(jié)時(shí),要切換行,并且每次均出現(xiàn)缺頁(yè)。為了消除這種不便,如下所述地執(zhí)行地址變換并將視頻數(shù)據(jù)輸出到視頻顯示設(shè)備便足以了。
圖3所示的高速緩沖存儲(chǔ)器7被用作臨時(shí)緩沖器,而將一個(gè)片段的視頻數(shù)據(jù)從幀存儲(chǔ)器5載入高速緩沖存儲(chǔ)器7,并轉(zhuǎn)換到如圖1B所示的存儲(chǔ)結(jié)構(gòu)(地址)。在采用SRAM(靜止RAM)作為高速緩沖存儲(chǔ)器7情況下,由于沒(méi)有象DRAM這樣的頁(yè)面,因此,不出現(xiàn)缺頁(yè)。
下面將具體描述將地址從已如圖4所示地存儲(chǔ)Y宏塊的狀態(tài)變換到已如圖1B所示地存儲(chǔ)Y宏塊的狀態(tài)的情況。從其中已如圖4所示地存儲(chǔ)視頻數(shù)據(jù)的幀存儲(chǔ)器5中讀出地址0000至0015中的視頻數(shù)據(jù)作為第一行視頻數(shù)據(jù),并將其存儲(chǔ)在高速緩沖存儲(chǔ)器7的地址0000至0015中。然后,讀出地址0016至0031中的視頻數(shù)據(jù)作為第二行視頻數(shù)據(jù),并將其存儲(chǔ)在高速緩沖存儲(chǔ)器7的地址0720至0735中。接著,讀出地址0032至0047中的視頻數(shù)據(jù)作為第三行視頻數(shù)據(jù),并將其存儲(chǔ)在高速緩沖存儲(chǔ)器7的地址1440至1455中。重復(fù)這種處理。
在如上所述從高速緩沖存儲(chǔ)器7讀出視頻數(shù)據(jù)的情況下,由于以遞增的地址順序執(zhí)行讀取操作本身,因此,僅每256個(gè)字節(jié)才出現(xiàn)缺頁(yè)。將存儲(chǔ)在高速緩沖存儲(chǔ)器7中的視頻數(shù)據(jù)再次傳送到幀存儲(chǔ)器5并予以存儲(chǔ)。如圖1B所示存儲(chǔ)在幀存儲(chǔ)器5中的視頻數(shù)據(jù)被輸出到視頻顯示設(shè)備(未示出)。
由于以一一對(duì)應(yīng)關(guān)系的地址順序執(zhí)行從高速緩沖存儲(chǔ)器7到幀存儲(chǔ)器5的再傳送,因此,如果采用SRAM構(gòu)成高速緩沖存儲(chǔ)器7,則不出現(xiàn)缺頁(yè),從而不出現(xiàn)由于上述處理引起的損耗時(shí)間。
盡管在上述描述中將視頻數(shù)據(jù)再次從高速緩沖存儲(chǔ)器7傳送到幀存儲(chǔ)器5,但是,視頻數(shù)據(jù)也可從高速緩沖存儲(chǔ)器7傳送到與幀存儲(chǔ)器5不同的、用于顯示或縮放的幀存儲(chǔ)器(DRAM)。
通過(guò)如上所述地寫入和讀取宏塊的視頻數(shù)據(jù),在完成解碼后得到的宏塊可順序存儲(chǔ)在包括DRAM等的幀存儲(chǔ)器中的相同頁(yè)面中。因此,可通過(guò)采用DRAM的猝發(fā)式傳送功能來(lái)減少缺頁(yè)的出現(xiàn)次數(shù),并可改善存儲(chǔ)器帶寬。由于已將宏塊存儲(chǔ)在幀存儲(chǔ)器的相同頁(yè)面中,因此,即使在采用運(yùn)動(dòng)補(bǔ)償矢量提取參考宏塊情況下,也可采用DRAM的猝發(fā)式傳送來(lái)減少缺頁(yè)次數(shù),并可改善存儲(chǔ)器帶寬。
當(dāng)將宏塊存儲(chǔ)在幀存儲(chǔ)器中時(shí),通過(guò)針對(duì)屏幕的每個(gè)水平寬度將它們交替存儲(chǔ)在DRAM的其他存儲(chǔ)組中,即使在從多個(gè)(多至4個(gè))宏塊中提取預(yù)測(cè)數(shù)據(jù)情況下,也可使缺頁(yè)最少。此外,由于可采用兩個(gè)存儲(chǔ)組構(gòu)成存儲(chǔ)器,因此,可簡(jiǎn)化存儲(chǔ)器系統(tǒng)的結(jié)構(gòu),并采用小(較小)容量的DRAM來(lái)實(shí)現(xiàn),從而靈活性較高。
下面將描述這樣一種視頻處理設(shè)備,其中當(dāng)未檢測(cè)到MPEG數(shù)據(jù)流的Sequence_Header信息時(shí),預(yù)測(cè)Sequence_Header的信息,并開始解碼,從而能夠立即對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼。圖7表示的是應(yīng)用本發(fā)明的視頻處理設(shè)備的示例。圖7中,來(lái)自多路分解器11的MPEG數(shù)據(jù)流被提供給MPEG解碼器12和Sequence_Header預(yù)測(cè)電路16。MPEG解碼器12對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼處理。
由MPEG解碼器12對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼,MPEG解碼器12輸出數(shù)字視頻數(shù)據(jù)的數(shù)據(jù)流。MPEG解碼器12的輸出通過(guò)顯示處理單元13提供給顯示器15。因此,基于MPEG數(shù)據(jù)流的畫面被顯示在顯示器15上。
在由MPEG解碼器12對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼的情況下,首先,必須設(shè)置圖像尺寸、寬高比等。可由Sequence_Header檢測(cè)這些信息。但是,有需占用時(shí)間來(lái)檢測(cè)Sequence_Header的情況。
因此,設(shè)置了Sequence_Header預(yù)測(cè)電路16。Sequence_Header預(yù)測(cè)電路16采用肯定包括在每個(gè)圖像中的信息來(lái)預(yù)測(cè)要通過(guò)Sequence_Header發(fā)送的信息。
也就是說(shuō),在Sequence_Header中,發(fā)送諸如圖像尺寸、寬高比、幀速率、VBV緩沖器尺寸、量化矩陣等的信息。Sequence_Header預(yù)測(cè)電路16采用片段信息來(lái)預(yù)測(cè)垂直方向上的圖像尺寸。水平方向上的圖像尺寸是采用宏塊信息來(lái)預(yù)測(cè)的。寬高比是采用已預(yù)測(cè)到的垂直方向上的圖像尺寸和水平方向上的圖像尺寸進(jìn)行預(yù)測(cè)。通過(guò)采用DTS/PTS等的時(shí)間戳來(lái)檢測(cè)解碼定時(shí),來(lái)預(yù)測(cè)幀速率。Sequence_Header預(yù)測(cè)電路16的輸出被提供給MPEG解碼器12,并被提供給顯示處理單元13。
在MPEG解碼器12對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼的情況下,如果可以檢測(cè)到Sequence_Header,則采用Sequence_Header的信息來(lái)設(shè)置圖像尺寸、寬高比、幀速率、VBV緩沖器尺寸、量化矩陣、逐行序列等。
當(dāng)MPEG解碼器12不能檢測(cè)Sequence_Header時(shí),設(shè)置由Sequence_Header預(yù)測(cè)電路16預(yù)測(cè)到的圖像尺寸、寬高比、幀速率、VBV緩沖器尺寸、量化矩陣、逐行序列等。
當(dāng)MPEG解碼器12不能檢測(cè)Sequence_Header時(shí),將由Sequence_Header預(yù)測(cè)電路16預(yù)測(cè)到的圖像尺寸和寬高比發(fā)送到顯示處理電路13。根據(jù)由Sequence_Header預(yù)測(cè)電路16預(yù)測(cè)到的圖像尺寸和寬高比,設(shè)置顯示屏幕。
在上述應(yīng)用了本發(fā)明的MPEG解碼設(shè)備中,配備用于預(yù)測(cè)Sequence_Header信息的Sequence_Header預(yù)測(cè)電路16。當(dāng)不能檢測(cè)到Sequence_Header時(shí),采用由Sequence_Header預(yù)測(cè)電路16預(yù)測(cè)的圖像尺寸和寬高比來(lái)執(zhí)行解碼處理。因此,例如即使當(dāng)在衛(wèi)星廣播中切換通道時(shí),也幾乎沒(méi)有等待時(shí)間,并可開始再現(xiàn)。
下面將具體解釋Sequence_Header預(yù)測(cè)電路的原理和結(jié)構(gòu)。
如圖8所示,MPEG的數(shù)據(jù)結(jié)構(gòu)是包括序列層、GOP層、圖像層、片段層、宏塊層和塊層的分層結(jié)構(gòu)。
序列層是具有一系列相同屬性如相同圖像尺寸和相同視頻率的畫面組。GOP層是用作隨機(jī)存取單元的畫面組。圖像層是一個(gè)畫面通用的屬性組。片段層是通過(guò)細(xì)分一個(gè)畫面所得到的組。宏塊層是通過(guò)對(duì)片段層進(jìn)一步細(xì)分所得到的組,并且是用于執(zhí)行運(yùn)動(dòng)矢量檢測(cè)等的組。塊層是用于執(zhí)行DCT變換的塊本身。
在序列的開頭設(shè)置Sequence_Header(SH)。在Sequence_Header中,記述了如下項(xiàng)等。
(1)Horizonal_Size_Value(水平尺寸值)視頻圖像水平方向上的象素?cái)?shù)(2)Vertical_Size_Value(垂直尺寸值)視頻圖像垂直方向上的象素?cái)?shù)(3)Aspect_Ratio_Information(寬高比信息)寬高比(4Frame_Rate_Code(幀速率碼)視頻圖像顯示周期(5)VBV_Buffer_Size(VBV緩沖器尺寸)用于控制產(chǎn)生碼量的虛擬緩沖器容量(VBV)(6)Load_Quantization_Matrix(加載量化矩陣)用于宏塊的量化矩陣(7)Progress_Sequence(逐行序列)表示逐行掃描在它們中,可根據(jù)片段的信息來(lái)預(yù)測(cè)視頻圖像垂直方向上的象素?cái)?shù)的信息(Horizonal_Size_Value)。
亦即,圖9表示一個(gè)圖像中片段的結(jié)構(gòu)。如圖9所示,一個(gè)圖像被分割成多個(gè)片段。在一個(gè)圖像頂部(Bs=1)最左邊的片段被設(shè)置為Slice(1,0)。從頂部左邊起的第二片段被設(shè)置成Slice(1,1)。以與上述類似的方式,在一個(gè)圖像底部(Bs=1)最左邊的片段被設(shè)置為Slice(N,0)。從底部左邊起的第二底片被設(shè)置成Slice(N,1)。
盡管如上所述在水平方向上存在多個(gè)片段,但是,在圖像的左邊,該片段肯定被切換到具有作為開始碼的新片段ID的片段。因此,可采用片段來(lái)預(yù)測(cè)一個(gè)圖像垂直方向上的尺寸。
亦即,在每個(gè)片段開頭插入作為表示片段層開頭的同步碼的Slice_Start_Code。Slice_Start_Code表示為16進(jìn)制數(shù)“00 00 01 01~AF”。該代碼的最后一個(gè)字節(jié)(第四字節(jié)的“01~AF”)采用16進(jìn)制數(shù)表示片段的垂直位置。如上所述,Slice_Start_Code的第四字節(jié)對(duì)應(yīng)于片段垂直方向上的位置,并且這意味著相同行中的相同數(shù)。
根據(jù)上述解釋,可通過(guò)檢測(cè)一個(gè)圖像底部Slice_Start_Code的第四字節(jié),來(lái)預(yù)測(cè)屏幕垂直方向上的象素?cái)?shù)。
圖10的功能框圖表示用于根據(jù)上述片段的信息預(yù)測(cè)屏幕垂直方向上的象素?cái)?shù)的結(jié)構(gòu)。圖10中,MPEG數(shù)據(jù)流被提供給輸入端41。Picture_Start_Code檢測(cè)單元42檢測(cè)MPEG數(shù)據(jù)流中的Picture_Start_Code。Slice_Start_Code檢測(cè)單元43檢測(cè)Slice_Start_Code。
Picture_Start_Code是表示圖像層的開始的代碼。Slice_Start_Code是表示片段層的開始的代碼。Slice_Start_Code的第四字節(jié)表示垂直位置。
Slice_Start_Code檢測(cè)單元43的輸出被發(fā)送到第四字節(jié)提取單元44。在第四字節(jié)提取單元44中,提取Slice_Start_Code的第四字節(jié)信息。第四字節(jié)提取單元44的輸出被發(fā)送到垂直尺寸寄存器45。
Picture_Start_Code檢測(cè)單元42通過(guò)檢測(cè)Picture_Start_Code來(lái)檢測(cè)一個(gè)圖像的開頭。當(dāng)檢測(cè)一個(gè)圖像的開頭時(shí),對(duì)垂直尺寸寄存器45進(jìn)行復(fù)位。并且,鑒別是否已由Slice_Start_Code檢測(cè)單元43檢測(cè)到Slice_Start_Code。
在由Slice_Start_Code檢測(cè)單元43檢測(cè)Slice_Start_Code的情況下,由第四字節(jié)提取單元44提取Slice_Start_Code的第四字節(jié)信息,并且將Slice_Start_Code的第四字節(jié)信息提供給寄存器45。一直到由Picture_Start_Code檢測(cè)單元42檢測(cè)下一個(gè)Picture_Start_Code之前,當(dāng)Slice_Start_Code檢測(cè)單元43檢測(cè)Slice_Start_Code時(shí),第四字節(jié)提取單元44提取提取Slice_Start_Code的第四字節(jié)信息,并且寄存器45根據(jù)該值進(jìn)行更新。
當(dāng)Picture_Start_Code檢測(cè)單元42檢測(cè)下一個(gè)Picture_Start_Code時(shí),將寄存器45中的信息作為垂直方向上的象素?cái)?shù)信息輸入到垂直尺寸寄存器46。
以這種方式,Slice_Start_Code檢測(cè)單元43從圖像的開頭至結(jié)尾中檢測(cè)Slice_Start_Code,并且當(dāng)檢測(cè)到Slice_Start_Code時(shí),由第四字節(jié)提取單元44提取第四字節(jié)的值,并將其輸入到垂直尺寸寄存器45,從而,從垂直尺寸寄存器46中的值中提取垂直方向上象素?cái)?shù)的預(yù)測(cè)值。
可根據(jù)宏塊的信息來(lái)預(yù)測(cè)水平方向上的象素?cái)?shù)(Horizontal_Size_Value)。也就是說(shuō),如圖11所示,通過(guò)進(jìn)一步分割片段來(lái)得到宏塊。在該示例中,在Slice(1,0)中有宏塊MB1、MB2和MB3,在Slice(1,1)中有宏塊MB4、MB5、MB6和MB7。在Slice(1,0)的宏塊MB2和MB3之間存在跳躍的宏塊。
在宏塊的開頭設(shè)置Macroblock_Address_Increment(宏塊地址增量),它是表示被跳躍的宏塊的VLC(可變長(zhǎng)度碼)。盡管在一般相鄰宏塊中的Macroblock_Address_Increment等于“1”,但是,當(dāng)存在要跳躍的宏塊時(shí),它被設(shè)置成增大了跳躍的宏塊數(shù)的值。
因此,每個(gè)宏塊累積一個(gè)片段中的Macroblock_Address_Increment的值,并且,在水平方向上存在多個(gè)片段情況下,通過(guò)將每個(gè)片段中Macroblock_Address_Increment的累積值相加,可識(shí)別出每個(gè)畫面橫向方向上的宏塊數(shù)。通過(guò)將所識(shí)別出的數(shù)與宏塊尺寸(即,對(duì)于色度信號(hào)為“16”,而對(duì)于兩個(gè)色差信號(hào)為“8”)相乘,可預(yù)測(cè)每個(gè)圖像水平方向上的象素?cái)?shù)。
圖12的功能框圖表示用于根據(jù)上述宏塊信息來(lái)預(yù)測(cè)畫面水平方向上的象素?cái)?shù)的結(jié)構(gòu)。
圖12中,MPEG數(shù)據(jù)流被提供給輸入端51。Slice_Start_Code檢測(cè)單元52檢測(cè)MPEG數(shù)據(jù)流中的Slice_Start_Code。Macroblock_Address_Increment檢測(cè)單元53檢測(cè)Macroblock_Address_Increment。
在對(duì)水平方向上的象素?cái)?shù)進(jìn)行預(yù)測(cè)的情況下,不管開始的圖像編碼類型如何,均由MPEG解碼器12采用在這種圖像中進(jìn)行內(nèi)處理(intra-process)來(lái)進(jìn)行解碼。當(dāng)對(duì)宏塊執(zhí)行解碼時(shí),輸出表示已對(duì)宏塊進(jìn)行了解碼的信號(hào)。表示已對(duì)宏塊進(jìn)行了解碼的信號(hào)從輸入端62提供給解碼宏塊檢測(cè)單元57。
在由Slice_Start_Code檢測(cè)單元52檢測(cè)到一行中最左邊處的片段的情況下,對(duì)寄存器55、寄存器58A、58B…、水平尺寸寄存器61清零。在Macroblock_Address_Increment檢測(cè)單元53中,檢測(cè)Macroblock_Address_Increment。
Macroblock_Address_Increment指的是宏塊的跳躍信息,并且對(duì)應(yīng)于“1”至“33”的增量值采用可變長(zhǎng)度碼寫入。當(dāng)Macroblock_Address_Increment等于或大于“33”時(shí),也稱作宏塊逃逸。
Macroblock_Address_Increment檢測(cè)單元53的輸出被提供給VLC解碼單元54。在VLC解碼單元54中對(duì)Macroblock_Address_Increment的值進(jìn)行解碼。
VLC解碼單元54的輸出被提供給加法器56。寄存器55的輸出被提供給加法器56。解碼宏塊檢測(cè)單元57的輸出被提供給寄存器55。當(dāng)根據(jù)解碼宏塊檢測(cè)單元57的輸出檢測(cè)到已對(duì)宏塊進(jìn)行了解碼的事實(shí)時(shí),在加法器56中將當(dāng)前的Macroblock_Address_Increment的值與先前的Macroblock_Address_Increment的值相加,并且累積Macroblock_Address_Increment的值。接著得到相同水平行的每個(gè)片段中的Macroblock_Address_Increment的累積值。
寄存器55的輸出被提供給寄存器58A、58B、…。在水平方向上存在多個(gè)片段情況下,寄存器58A、58B、…獲取每個(gè)片段中Macroblock_Address_Increment的累積值。Slice_Start_Code檢測(cè)單元52的輸出被提供給寄存器58A、58B、…。響應(yīng)于Slice_Start_Code檢測(cè)單元52的輸出,對(duì)于每個(gè)片段,將Macroblock_Address_Increment的累積值輸入到寄存器58A、58B、…。例如,將相同水平行第一片段中的MacroblockAddress_Increment的累積值輸入到寄存器58A。將相同水平行下一片段中的Macroblock_Address_Increment的累積值輸入到寄存器58B。
寄存器58A、58B、…的輸出被提供給加法器59。在加法器59中,對(duì)每個(gè)片段中的Macroblock_Address_Increment的累積值進(jìn)行相加。如上所述,通過(guò)將每個(gè)片段中累積的Macroblock_Address_Increment的值相加,可得到每個(gè)畫面橫向方向上的宏塊數(shù)。
加法器59的輸出被提供給乘法器60。乘法器60將宏塊數(shù)與宏塊尺寸相乘,從而計(jì)算水平方向上的象素?cái)?shù)。亦即,在乘法器60中,通過(guò)將宏塊數(shù)與宏塊水平方向上的尺寸相乘,來(lái)計(jì)算每個(gè)圖像水平方向上的象素?cái)?shù)。以這種方式得到的水平方向上的象素?cái)?shù)被提供給水平尺寸寄存器61。
如上所述,在加法器56和寄存器55中,對(duì)每個(gè)宏塊累積一個(gè)片段中的Macroblock_Address_Increment的值,并且由加法器59將在每個(gè)片段中累積的Macroblock_Address_Increment的值相加,從而計(jì)算每個(gè)畫面橫向方向上的宏塊數(shù)。在乘法器60中,將其與宏塊尺寸相乘,從而得到每個(gè)圖像水平方向上的象素?cái)?shù)。
可根據(jù)上述得到的視頻圖像水平方向上的象素?cái)?shù)和垂直方向上的象素?cái)?shù)來(lái)預(yù)測(cè)寬高比(Aspect_Ratio_Information)。如果圖像尺寸等于(720×480),則TV類型是SDTV。因此,預(yù)測(cè)到寬高比等于(4∶3)。如果畫面尺寸等于(920×1080),則TV類型是HDTV。因此,預(yù)測(cè)到寬高比等于(16∶9)。
通過(guò)采用DTS/PTS的時(shí)間戳等來(lái)識(shí)別解碼定時(shí),非直接地預(yù)測(cè)視頻圖像的顯示周期(Frame_Rate_Code)。
對(duì)于用于控制產(chǎn)生碼量的虛擬緩沖器(VBV)的尺寸(VBV_Buffer_Size),預(yù)備具有可能電平分布的最大尺寸的緩沖器。類似地,同樣對(duì)應(yīng)于對(duì)視頻圖像的解碼,確保相關(guān)電平分布中通??赡艿淖畲蟪叽绲娜萘?。
宏塊的量化矩陣(Load_Quantization_Matrix)由缺省值替換。
Progressive_Sequence由對(duì)每個(gè)幀多路復(fù)用的Picture_Coding_Type(圖像編碼類型)中的Progressive_Frame(逐行幀)替代。
盡管已在上述示例中描述了對(duì)MPEG1或MPEG2的數(shù)據(jù)流進(jìn)行解碼的情況,但是,本發(fā)明也可類似地應(yīng)用于對(duì)類似分層結(jié)構(gòu)的數(shù)據(jù)流進(jìn)行解碼的情況。
已經(jīng)描述了采用軟件對(duì)MPEG視頻數(shù)據(jù)流的解碼。下面將描述采用軟件對(duì)MPEG音頻數(shù)據(jù)流的解碼。在MPEG音頻解碼器中,由外部提供的MPEG音頻數(shù)據(jù)由解碼模塊進(jìn)行解碼,解碼數(shù)據(jù)被提供給編解碼器模塊,并由編解碼器模塊進(jìn)行數(shù)字/模擬轉(zhuǎn)換,轉(zhuǎn)換后的模擬數(shù)據(jù)被輸出到外部設(shè)備。
但是,當(dāng)由解碼模塊解碼的MPEG音頻數(shù)據(jù)被輸出到編解碼器模塊時(shí),如果切換MPEG音頻數(shù)據(jù)的通道,則在預(yù)定時(shí)間內(nèi)輸出切換通道之前的數(shù)據(jù),因此不太方便。
所以,在本發(fā)明采用軟件實(shí)現(xiàn)的音頻解碼器中,在進(jìn)行通道切換時(shí),將靜音數(shù)據(jù)(muting data)從解碼模塊輸出到編解碼器模塊。
圖13是表示音頻解碼器100的一實(shí)施例的結(jié)構(gòu)框圖。
用戶通過(guò)操作輸入單元111輸入所需信息。例如,通過(guò)操作輸入單元111,用戶接通解碼器100的電源,切換從外部提供的MPEG音頻數(shù)據(jù)通道,或指示進(jìn)行靜音。
CPU 112讀出存儲(chǔ)在存儲(chǔ)器115至117中的程序,如后所述,并根據(jù)從輸入單元111提供的信息來(lái)執(zhí)行該程序。數(shù)據(jù)轉(zhuǎn)換開關(guān)113切換MPEG音頻數(shù)據(jù)和程序數(shù)據(jù)。從外部提供的MPEG音頻數(shù)據(jù)被經(jīng)DMA(直接存儲(chǔ)器存取)總線120和數(shù)據(jù)轉(zhuǎn)換開關(guān)113輸入到存儲(chǔ)器114,并被存儲(chǔ)。
存儲(chǔ)器115中存儲(chǔ)有與電源連接的AC鏈接程序。當(dāng)用戶經(jīng)輸入單元111接通解碼器100的電源時(shí),CPU 112經(jīng)數(shù)據(jù)轉(zhuǎn)換開關(guān)113讀出該AC鏈接程序,并執(zhí)行該程序。
存儲(chǔ)器116中存儲(chǔ)有對(duì)應(yīng)于從輸入單元111輸入的信息、并被用于發(fā)送消息的消息發(fā)送程序。該消息被發(fā)送到存儲(chǔ)在存儲(chǔ)器117中的解碼程序和數(shù)據(jù)傳送處理程序,如后所述。也就是說(shuō),當(dāng)用戶經(jīng)輸入單元111輸入所需信息時(shí),CPU 112經(jīng)數(shù)據(jù)轉(zhuǎn)換開關(guān)113讀出消息發(fā)送程序,執(zhí)行該程序,并將對(duì)應(yīng)于輸入信息的消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。
存儲(chǔ)器117中存儲(chǔ)有用于以所提供消息的定時(shí)對(duì)存儲(chǔ)在存儲(chǔ)器114中的MPEG音頻數(shù)據(jù)進(jìn)行解碼的解碼程序及數(shù)據(jù)傳送處理程序。CPU 112以所提供的消息的定時(shí)對(duì)存儲(chǔ)在存儲(chǔ)器114中的MPEG音頻數(shù)據(jù)進(jìn)行解碼,并能夠使在完成解碼后得到的數(shù)據(jù)再次存儲(chǔ)在存儲(chǔ)器114中。接著,CPU 112讀出并執(zhí)行數(shù)據(jù)傳送處理程序,并將在完成解碼后得到并被存儲(chǔ)在存儲(chǔ)器114中的MPEG音頻數(shù)據(jù)傳送到輸出緩沖器118。在接通電源、切換通道、和靜音指令時(shí),先前已被存儲(chǔ)在存儲(chǔ)器114中的偽數(shù)據(jù)(為“0”的數(shù)據(jù))被傳送到輸出緩沖器118。
臨時(shí)存儲(chǔ)在輸出緩沖器118中的數(shù)據(jù)經(jīng)DMA總線120提供給編解碼器119。編解碼器119對(duì)所提供的完成解碼后所得到的MPEG音頻數(shù)據(jù)數(shù)字/模擬轉(zhuǎn)換,并經(jīng)DMA總線120將轉(zhuǎn)換后的數(shù)據(jù)輸出到外部設(shè)備(未示出)。
接下來(lái),下面將參照?qǐng)D14來(lái)描述響應(yīng)于解碼程序和數(shù)據(jù)傳送處理程序從消息發(fā)送程序發(fā)送的消息的示例。
首先,當(dāng)用戶通過(guò)輸入單元111接通電源時(shí)(在時(shí)刻t1),一“U”消息被發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。該“U”消息用于表示已接通電源。接著,在一預(yù)定時(shí)間內(nèi)(T2)將一“W”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。該“W”消息表示“等待解碼”,T2表示的是一直到將預(yù)定量的MPEG音頻數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器114中時(shí)的所需時(shí)間。
當(dāng)將預(yù)定量的MPEG音頻數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器114中時(shí),將一“F”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。該“F”消息表示的是“開始解碼”。當(dāng)接收到該消息時(shí),CPU 112開始對(duì)存儲(chǔ)在存儲(chǔ)器114中的MPEG音頻數(shù)據(jù)進(jìn)行解碼。此后,將一“N”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序(T3)。該“N”表示的是“繼續(xù)解碼”。CPU 112根據(jù)該消息繼續(xù)進(jìn)行解碼。
當(dāng)用戶操作輸入單元111并切換通道時(shí),在預(yù)定時(shí)間(T5)內(nèi)將該“W”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。CPU 112等待,直至對(duì)新的MPEG音頻數(shù)據(jù)進(jìn)行解碼。T5表示的是一直到將完成通道切換后所得到的預(yù)定量的MPEG音頻數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器114中時(shí)所需的時(shí)間。
當(dāng)預(yù)定量的MPEG音頻數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器114中時(shí),將該“F”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。CPU 112開始對(duì)MPEG音頻數(shù)據(jù)進(jìn)行解碼。此后,在預(yù)定時(shí)間(T6)內(nèi)將該“N”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。CPU 112繼續(xù)進(jìn)行解碼。
當(dāng)用戶操作輸入單元111并關(guān)閉解碼器100時(shí)(時(shí)刻t7),將一“D”消息發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。MPEG音頻數(shù)據(jù)的解碼結(jié)束。
接下來(lái),將參照?qǐng)D15來(lái)描述CPU 112根據(jù)消息切換從存儲(chǔ)器114傳送到輸出緩沖器118的數(shù)據(jù)的功能。
圖15A表示的是先前就存在于存儲(chǔ)器114中的偽塊131。在偽塊131中存儲(chǔ)了“0”數(shù)據(jù)。圖15B表示的是BBB鏈132,其中存儲(chǔ)有在完成解碼后所得到的MPEG音頻數(shù)據(jù)。BBB鏈132是由6個(gè)塊(a)塊141至(f)塊146構(gòu)成的,并且從(a)塊141開始按順序存儲(chǔ)在完成解碼后所得到的MPEG音頻數(shù)據(jù)。
在響應(yīng)于數(shù)據(jù)傳送處理程序從消息發(fā)送程序發(fā)送“W”消息的情況下(例如,圖14中的時(shí)間T2和T5),CPU 112從存儲(chǔ)器114中的偽塊131讀出“0”數(shù)據(jù),并將所讀出的“0”數(shù)據(jù)傳送到輸出緩沖器118。因此,在接通電源和通道切換的時(shí)刻,在預(yù)定時(shí)間內(nèi)將靜音數(shù)據(jù)輸出到編解碼器119。
當(dāng)響應(yīng)于數(shù)據(jù)傳送處理程序從消息發(fā)送程序發(fā)送“F”消息或“N”消息時(shí)(例如,圖14中的時(shí)間T3和T6),CPU 112從存儲(chǔ)器114中BBB鏈132的(a)塊141按順序讀出完成解碼后所得到的數(shù)據(jù),并將所讀出的數(shù)據(jù)傳送到輸出緩沖器118。因此,解碼后的數(shù)據(jù)的數(shù)據(jù)被輸出到編解碼器119,同時(shí)對(duì)MPEG音頻數(shù)據(jù)進(jìn)行解碼。
接下來(lái),將參照?qǐng)D16的流程圖來(lái)描述在當(dāng)接通解碼器100的電源時(shí),CPU 112根據(jù)消息切換要從存儲(chǔ)器114傳送到輸出緩沖器118的數(shù)據(jù)情況下的處理操作。
首先,在步驟S11,當(dāng)用戶操作輸入單元111并接通解碼器100的電源時(shí),CPU 112從存儲(chǔ)器115讀出AC鏈接程序,并執(zhí)行該程序。
接著,在步驟S12,CPU 112從存儲(chǔ)器116讀出消息發(fā)送程序,并執(zhí)行該程序。此時(shí),表示電源接通的“U”消息被發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。
在步驟S13,表示等待解碼開始的“W”數(shù)據(jù)被發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。
在步驟S14,CPU 112從存儲(chǔ)器114中的偽塊131中讀出“0”數(shù)據(jù),并將該數(shù)據(jù)傳送到輸出緩沖器118。
在步驟S15,CPU 112鑒別是否已在存儲(chǔ)器114中存儲(chǔ)了預(yù)定量的MPEG音頻數(shù)據(jù)。如果在步驟S15確定未在存儲(chǔ)器114中存儲(chǔ)了預(yù)定量的MPEG音頻數(shù)據(jù),則處理例程返回到步驟S13。重復(fù)執(zhí)行后續(xù)處理。
如果在步驟S15確定已在存儲(chǔ)器114中存儲(chǔ)了預(yù)定量的MPEG音頻數(shù)據(jù),則處理例程進(jìn)到步驟S16。表示解碼開始的“F”消息被發(fā)送到解碼程序和數(shù)據(jù)傳送處理程序。
在步驟S17,CPU 112開始對(duì)存儲(chǔ)器114中存儲(chǔ)的MPEG音頻數(shù)據(jù)進(jìn)行解碼,并將解碼數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器114的BBB鏈132中。
在步驟S18,CPU 112從存儲(chǔ)器114中的BBB鏈132中讀出解碼數(shù)據(jù),并將該數(shù)據(jù)傳送到輸出緩沖器118。
在步驟S19,CPU 112鑒別是否已對(duì)全部MPEG音頻數(shù)據(jù)進(jìn)行了解碼。如果在步驟S19確定未對(duì)全部MPEG音頻數(shù)據(jù)進(jìn)行解碼,則處理例程返回到步驟S16并重復(fù)執(zhí)行后續(xù)處理。如果在步驟S19確定已對(duì)全部MPEG音頻數(shù)據(jù)進(jìn)行了解碼,則結(jié)束該處理操作。
下面將參照?qǐng)D17來(lái)描述被用來(lái)將用于執(zhí)行前述處理系列的程序安裝到計(jì)算機(jī)中并設(shè)置由計(jì)算機(jī)執(zhí)行這些處理的狀態(tài)的介質(zhì)。
如圖17A所示,程序可以以被預(yù)先安裝在作為記錄介質(zhì)內(nèi)置在個(gè)人計(jì)算機(jī)151(對(duì)應(yīng)于視頻解碼設(shè)備)的硬盤152或半導(dǎo)體存儲(chǔ)器153中的形式提供給用戶。
否則,如圖17B所示,程序可以以被臨時(shí)或永久存儲(chǔ)在諸如軟盤161、CD-ROM 162、MO盤163、DVD 164、磁盤165、半導(dǎo)體存儲(chǔ)器166中的軟件包的形式提供。
另外,如圖17C所示,也可以以如下形式提供程序,即,該程序從下載站點(diǎn)171以無(wú)線方式經(jīng)衛(wèi)星172傳送到個(gè)人計(jì)算機(jī)173,或以有線或無(wú)線方式經(jīng)諸如局域網(wǎng)或因特網(wǎng)(Internet)的網(wǎng)絡(luò)181傳送到個(gè)人計(jì)算機(jī)173,并被下載到個(gè)人計(jì)算機(jī)173中的內(nèi)置硬盤等。
本說(shuō)明書中的“介質(zhì)”表示的是包括所有這些介質(zhì)在內(nèi)的廣義概念。
在本發(fā)明的視頻處理設(shè)備、視頻處理方法和介質(zhì)中,按遞增順序給輸入的宏塊單元的視頻數(shù)據(jù)分配地址,存儲(chǔ)視頻數(shù)據(jù)、并以遞增的地址順序讀出所存儲(chǔ)的視頻數(shù)據(jù)。因此,可抑制缺頁(yè)的出現(xiàn)次數(shù)。
根據(jù)本發(fā)明的視頻處理設(shè)備和方法,當(dāng)未檢測(cè)到Sequence_Header時(shí),檢測(cè)Slice_Start_Code的第四字節(jié),預(yù)測(cè)畫面垂直方向上的象素?cái)?shù),累積Macroblock_Address_Increment的值,得到畫面水平方向上的宏塊數(shù),將其與宏塊尺寸相乘,并且預(yù)測(cè)畫面水平方向上的象素?cái)?shù)。采用如上所述預(yù)測(cè)的信息來(lái)進(jìn)行MPEG解碼。因此,即使在未檢測(cè)到Sequence_Header時(shí),也能立即對(duì)MPEG數(shù)據(jù)流進(jìn)行解碼。
產(chǎn)業(yè)上的可利用性本發(fā)明適用于對(duì)采用MPEG方式壓縮的視頻信號(hào)的解碼。
權(quán)利要求
1.一種視頻處理設(shè)備,包括輸入裝置,用于輸入宏塊單元的視頻數(shù)據(jù);存儲(chǔ)裝置,用于以遞增順序給由所述輸入裝置輸入的視頻數(shù)據(jù)分配地址,并存儲(chǔ)所述視頻數(shù)據(jù);和讀取裝置,用于以遞增的地址順序讀出存儲(chǔ)在所述存儲(chǔ)裝置中的所述視頻數(shù)據(jù)。
2.如權(quán)利要求1所述的視頻處理設(shè)備,還包括轉(zhuǎn)換存儲(chǔ)裝置,用于將由所述讀取裝置讀出的所述視頻數(shù)據(jù)轉(zhuǎn)換成其地址排列與基于所述視頻數(shù)據(jù)顯示的視頻圖像的地址排列相類似的數(shù)據(jù),并存儲(chǔ)所述視頻數(shù)據(jù)。
3.如權(quán)利要求1所述的視頻處理設(shè)備,其中,所述存儲(chǔ)裝置具有兩個(gè)或更多存儲(chǔ)組,按基于所述視頻數(shù)據(jù)顯示的視頻圖像的視頻圖像水平方向的每個(gè)寬度切換所述存儲(chǔ)組,并存儲(chǔ)所述視頻數(shù)據(jù)。
4.一種視頻處理方法,包括輸入步驟,用于輸入宏塊單元的視頻數(shù)據(jù);存儲(chǔ)步驟,用于以遞增順序給由所述輸入步驟輸入的所述視頻數(shù)據(jù)分配地址,并存儲(chǔ)所述視頻數(shù)據(jù);和讀取步驟,用于以遞增的地址順序讀出由所述存儲(chǔ)步驟存儲(chǔ)的所述視頻數(shù)據(jù)。
5.一種用于使計(jì)算機(jī)能夠執(zhí)行一程序的介質(zhì),其中所述程序包括輸入步驟,用于輸入宏塊單元的視頻數(shù)據(jù);存儲(chǔ)步驟,用于以遞增順序給由所述輸入步驟輸入的所述視頻數(shù)據(jù)分配地址,并存儲(chǔ)所述視頻數(shù)據(jù);和讀取步驟,用于以遞增的地址順序讀出由所述存儲(chǔ)步驟存儲(chǔ)的所述視頻數(shù)據(jù)。
6.一種用于對(duì)具有由序列層、GOP層、圖像層、片段(slice)層、宏塊層和塊層構(gòu)成的分層結(jié)構(gòu)的視頻數(shù)據(jù)流進(jìn)行解碼的視頻處理設(shè)備,包括Sequence_Header(序列首標(biāo))信息預(yù)測(cè)裝置,用于根據(jù)肯定在圖像中出現(xiàn)的信息來(lái)預(yù)測(cè)Sequence_Header信息;和解碼裝置,用于當(dāng)未檢測(cè)到所述Sequence_Header時(shí),采用由所述Sequence_Header信息預(yù)測(cè)裝置預(yù)測(cè)的信息,來(lái)對(duì)視頻數(shù)據(jù)進(jìn)行解碼。
7.如權(quán)利要求6所述的視頻處理設(shè)備,其中,所述Sequence_Header信息預(yù)測(cè)裝置包括垂直象素?cái)?shù)預(yù)測(cè)裝置,用于根據(jù)片段中的信息來(lái)預(yù)測(cè)畫面垂直方向上的象素?cái)?shù)。
8.如權(quán)利要求6所述的視頻處理設(shè)備,其中,所述Sequence_Header信息預(yù)測(cè)裝置包括水平象素?cái)?shù)預(yù)測(cè)裝置,用于根據(jù)宏塊中的信息來(lái)預(yù)測(cè)畫面水平方向上的象素?cái)?shù)。
9.如權(quán)利要求6所述的視頻處理設(shè)備,其中,所述Sequence_Header信息預(yù)測(cè)裝置包括寬高比預(yù)測(cè)裝置,用于根據(jù)片段中的信息來(lái)預(yù)測(cè)畫面垂直方向上的象素?cái)?shù),根據(jù)宏塊中的信息來(lái)預(yù)測(cè)畫面水平方向上的象素?cái)?shù),并根據(jù)所述預(yù)測(cè)的垂直方向上的象素?cái)?shù)和所述預(yù)測(cè)的水平方向上的象素?cái)?shù),來(lái)預(yù)測(cè)所述畫面的寬高比。
10.一種用于對(duì)具有由序列層、GOP層、圖像層、片段(slice)層、宏塊層和塊層構(gòu)成的分層結(jié)構(gòu)的視頻數(shù)據(jù)流進(jìn)行解碼的視頻處理方法,包括下列步驟根據(jù)肯定在圖像中出現(xiàn)的信息來(lái)預(yù)測(cè)Sequence_Header信息;和當(dāng)未檢測(cè)到所述Sequence_Header時(shí),采用所述預(yù)測(cè)的Sequence_Header信息來(lái)對(duì)視頻數(shù)據(jù)進(jìn)行解碼。
11.如權(quán)利要求10所述的視頻處理方法,其中,當(dāng)預(yù)測(cè)所述Sequence_Header信息時(shí),根據(jù)片段中的信息來(lái)預(yù)測(cè)畫面垂直方向上的象素?cái)?shù)。
12.如權(quán)利要求10所述的視頻處理方法,其中,當(dāng)預(yù)測(cè)所述Sequence_Header信息時(shí),根據(jù)宏塊中的信息來(lái)預(yù)測(cè)畫面水平方向上的象素?cái)?shù)。
13.如權(quán)利要求10所述的視頻處理方法,其中,當(dāng)預(yù)測(cè)所述Sequence_Header信息時(shí),根據(jù)片段中的信息來(lái)預(yù)測(cè)畫面垂直方向上的象素?cái)?shù),根據(jù)宏塊中的信息來(lái)預(yù)測(cè)畫面水平方向上的象素?cái)?shù),并根據(jù)所述預(yù)測(cè)的垂直方向上的象素?cái)?shù)和所述預(yù)測(cè)的水平方向上的象素?cái)?shù),來(lái)預(yù)測(cè)所述畫面的寬高比。
全文摘要
一個(gè)宏塊由16×16個(gè)象素(字節(jié))構(gòu)成。當(dāng)將宏塊存儲(chǔ)由DRAM等構(gòu)成的幀存儲(chǔ)器中時(shí),以如下方式按遞增順序來(lái)順序分配地址,并存儲(chǔ)這些宏塊,即,將地址0000至0255分配給第一宏塊,將地址0256至0512分配給第二宏塊。以遞增的地址順序讀出以這種方式存儲(chǔ)的宏塊。
文檔編號(hào)H04N7/26GK1314050SQ00801074
公開日2001年9月19日 申請(qǐng)日期2000年4月13日 優(yōu)先權(quán)日1999年4月13日
發(fā)明者塚越郁夫, 川瀨直彥, 山本喜久夫 申請(qǐng)人:索尼公司