專利名稱:用于片上系統(tǒng)的雙層總線結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及一種用于片上系統(tǒng)(SOC)的總線結(jié)構(gòu)。更具體地,本發(fā)明涉及一種適于在高性能多媒體處理應(yīng)用中使用的雙層SOC總線結(jié)構(gòu)。
背景技術(shù):
現(xiàn)代電子設(shè)備逐漸給用戶提供各種多媒體處理能力。例如,諸如蜂窩電話和個(gè)人數(shù)字助理(PDA)的便攜式電子設(shè)備允許用戶捕獲、下載、顯示,或者否則處理諸如音頻和視頻的各種形式的多媒體信息。隨著使能的多媒體的設(shè)備的使用變得逐漸廣泛,對(duì)于更小、更快的設(shè)備的需求持續(xù)增長(zhǎng)。因此,不斷地需要對(duì)使能的多媒體的設(shè)備進(jìn)行改進(jìn)設(shè)計(jì)。
設(shè)計(jì)和制造體積小而高性能電子設(shè)備的一種途徑包括將所有必需的系統(tǒng)元件放置在單個(gè)集成電路(IC)內(nèi)。元件的這種布置或?qū)崿F(xiàn)通常被稱作片上系統(tǒng)(SOC)。例如,音頻處理應(yīng)用的SOC可以在單個(gè)IC芯片上組合音頻接收器、模數(shù)轉(zhuǎn)換器(ADC)、微處理器、存儲(chǔ)器、和輸入/輸出邏輯。
與傳統(tǒng)SOC結(jié)構(gòu)相關(guān)聯(lián)的一個(gè)問題是它們不能較好地處理幾種公共使用的多媒體格式的數(shù)據(jù)。例如,傳統(tǒng)SOC結(jié)構(gòu)通常提供較慢的性能并且當(dāng)編碼各種運(yùn)動(dòng)圖像專家組(MPEG)格式的任意一種的數(shù)據(jù)時(shí)(即,編碼和解碼)時(shí)消耗過多功率。這至少部分由于以下事實(shí)傳統(tǒng)SOC結(jié)構(gòu)容易受到在編碼過程期間從存儲(chǔ)器讀取和寫入存儲(chǔ)器的大的數(shù)據(jù)量的影響。為了克服這一問題,需要設(shè)計(jì)改進(jìn)的總線結(jié)構(gòu)來容納多媒體處理應(yīng)用的擴(kuò)展帶寬(即,數(shù)據(jù)承載能力)需求。
為了更好地理解多媒體處理應(yīng)用的帶寬需求,將對(duì)MPEG編碼和解碼進(jìn)行簡(jiǎn)要概述。MPEG只是一個(gè)被選的示例??梢蕴鎿Q地呈現(xiàn)許多編碼示例中的任意一個(gè),但是MPEG是廣為人知的標(biāo)準(zhǔn),并且為下面討論本發(fā)明提供了極好的示教。
通常,術(shù)語“編碼”是指將原始的未結(jié)構(gòu)化的輸入數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化或者編碼格式的處理。例如,在MPEG編碼的情況下,這一處理包括將輸入視頻幀的序列轉(zhuǎn)換為編碼的序列或壓縮數(shù)據(jù)幀。用于執(zhí)行編碼處理的設(shè)備通常稱作編碼器。許多不同的編碼器設(shè)計(jì)通常可用于執(zhí)行MPEG編碼。
術(shù)語“解碼”是指根據(jù)編碼的數(shù)據(jù)重構(gòu)原始輸入數(shù)據(jù)的處理。例如,在MPEG解碼的情況下,所述處理包括根據(jù)編碼幀重構(gòu)輸入視頻幀。在大多數(shù)情況下,因?yàn)樵诰幋a/解碼處理期間丟失了信息,因此重構(gòu)的輸入視頻幀不等同于原始輸入的視頻幀。在這種情況下,重構(gòu)的輸入視頻幀是相應(yīng)原始輸入視頻幀的近似。用于執(zhí)行解碼處理的設(shè)備通常稱作解碼器。許多不同的解碼器設(shè)計(jì)通??捎糜趫?zhí)行MPEG解碼。
MPEG編碼中使用的輸入視頻幀通常由行-列格式排列的像素值的集合組成。在大多數(shù)情況下,每個(gè)像素包括多于一個(gè)信息通道的值。例如,像素可以包括紅、綠和藍(lán)(RGB)顏色通道的值。在其他情況下,RGB顏色通道被等效地表達(dá)為亮度(Y)和色度(UV)分量。為了位縮減,通常相對(duì)于亮度值而對(duì)色度值進(jìn)行二次取樣。例如,四塊的亮度值可以與兩個(gè)等效大小塊的色度值組合,以便形成單個(gè)更大的塊,稱作“宏塊”。通常,宏塊可以包括任意數(shù)量的任意大小的色度或亮度塊。然而,為了圖解目的,假設(shè)宏塊包括四個(gè)以正方形排列的8×8亮度塊,并且在四個(gè)8×8亮度塊的中間對(duì)8×8紅色度塊和8×8藍(lán)色度塊進(jìn)行二次取樣。
首先通過將輸入視頻幀劃分為三種不同類型即,I-幀、P-幀和B-幀,來執(zhí)行MPEG編碼。I-幀是幀內(nèi)編碼幀的術(shù)語,因?yàn)樗鼈儾挥脜⒖计渌麕捅痪幋a。P-幀和B-幀是幀間編碼幀的術(shù)語,因?yàn)樗鼈兪鞘褂闷渌麕男畔⒈痪幋a的。更具體地,每個(gè)P-幀基于先前I-幀或P-幀被預(yù)測(cè),并且每個(gè)B-幀基于先前和下一I-幀或P-幀被預(yù)測(cè)。
輸入視頻序列中的每個(gè)I-幀被編碼為一組量化的離散余弦變換(DCT)系數(shù),而另一方面,每個(gè)P-幀和B-幀被編碼為一組運(yùn)動(dòng)矢量和相應(yīng)的預(yù)測(cè)誤差幀。現(xiàn)在將描述編碼I-幀、P-幀和B-幀的處理。
輸入視頻序列中的每個(gè)輸入視頻幀被指定為假設(shè)的I-幀、P-幀或B-幀。進(jìn)行這種指定的一種方式是定義重復(fù)序列的幀類型,并且根據(jù)重復(fù)序列對(duì)輸入視頻幀執(zhí)行編碼。例如,假設(shè)所述序列被定義為I1、B2、B3、B4、P5、B6、B7、B8、P9,其中“I1”表示所述序列中的第一幀是I-幀,“B2”表示所述序列中的第二幀是B-幀,等等。因此,輸入視頻幀的所述序列中的第一幀被指定為I-幀,第二幀為B-幀,等等。
由于對(duì)于先前I-幀或P-幀編碼所述序列中的每個(gè)P-幀,并且對(duì)于先前和下一I-幀或P-幀編碼所述序列中的每個(gè)B-幀,因此通常無順序地編碼輸入視頻幀。例如,可以以順序I1、P5、B2、B3、B4、P9、B6、B7、B8來編碼上述序列中的幀,從而幀B2、B3和B4具有對(duì)它們編碼所需的兩個(gè)幀I1和P5的訪問,并且從而幀B6、B7和B8具有對(duì)幀P5和P9的訪問??傊斎胍曨l幀被首先指定為I-幀、B-幀和P-幀,然后在編碼發(fā)生之前根據(jù)相應(yīng)的預(yù)定順序被重新排列。編碼幀在它們被解碼之后通常被恢復(fù)到它們?cè)嫉捻樞颉?br>
使用幀內(nèi)DCT編碼來編碼I-幀。幀內(nèi)DCT編碼以將幀劃分為多個(gè)小塊而開始。通常,每個(gè)小塊包括8位像素值的8×8塊。使用離散余弦變換將每個(gè)小塊變換為DCT系數(shù)塊。DCT系數(shù)塊通常保持與小塊相同的值數(shù),但是通常使用更多的位來存儲(chǔ)每個(gè)值。例如,8位值的8×8像素塊可以被變換為11位值的8×8DCT系數(shù)塊。在幀包括多個(gè)信息通道的多個(gè)像素值的情況下,通常對(duì)每個(gè)通道的小塊單獨(dú)地進(jìn)行DCT編碼。
在幀內(nèi)DCT編碼之后,通過將所述值除以某個(gè)量(通常是2的倍數(shù))并且對(duì)結(jié)果舍位而量化在每個(gè)DCT系數(shù)塊中存儲(chǔ)的值。這通常導(dǎo)致原始I-幀包含的某些信息的損失,然而,采取措施來確保信息的損失不會(huì)明顯地?fù)p害I-幀的得到的圖像質(zhì)量。例如,與較高頻率圖像分量對(duì)應(yīng)的DCT系數(shù)通常被量化為比與較低頻率圖像分量對(duì)應(yīng)的DCT系數(shù)更高的程度,因?yàn)槿搜蹖?duì)靠近目標(biāo)邊緣的細(xì)節(jié)比圖像的其他部分更不敏感。
最后,在進(jìn)行量化之后,使用可變長(zhǎng)度編碼(VLC)來串行化和編碼每個(gè)DCT系數(shù)塊。使用以直流(DC)分量開始并從表示低頻圖像分量的系數(shù)繼續(xù)到表示高頻圖像分量的系數(shù)的之字形模式,通過連續(xù)讀取DCT系數(shù)塊中的值來執(zhí)行串行化。例如,通常以1、2、4、7、5、3、6、8、9的順序讀出1 2 3矩陣4 5 6中的系數(shù)。
7 8 9通過將多圈零與其之后的非零值分組(by grouping togemer runs of zerosfollowed by a non-zero value)在一起而執(zhí)行可變長(zhǎng)度編碼。例如,假設(shè)使用之字形模式從DCT系數(shù)塊讀出下列序列3、1、0、0、5、2、0、0、0。所述值被排列成下列組(3)、(1)、(0,0,5)、(2)、EOB,其中標(biāo)簽EOB代表“塊的結(jié)束”,并且它表示該序列中的剩余條目都是零。
一旦所述值被排列成組,則每個(gè)組被來自VLC查找表的唯一碼字替代。VLC查找表具有這樣一種屬性表中的碼字都不是表中的任意其他碼字的前綴。于是,根據(jù)VLC查找表生成的一系列碼字可以被排列成位流,同時(shí)仍允許解碼器確定位流內(nèi)每個(gè)碼字的開始(起始)和結(jié)尾(結(jié)束)。為了圖解說明將上述序列轉(zhuǎn)換為位流,使用下列查找表作為一個(gè)簡(jiǎn)單示例。組“(3)”用碼字“000”表示,組“(1)”用碼字“111”表示,組“(0,0,5)”用碼字“101”表示,組“(2)”用碼字“110”表示,并且標(biāo)簽EOB用碼字“01”表示。因此,所述序列中的值可以被位流“00011110111001”編碼。
相對(duì)于參考幀通過對(duì)所述幀執(zhí)行運(yùn)動(dòng)估計(jì)而編碼P-幀,以便生成一組運(yùn)動(dòng)矢量。對(duì)于P-幀,參考幀是輸入視頻序列中的先前I-幀或P-幀,并且每個(gè)運(yùn)動(dòng)矢量表示參考幀與P-幀之間的宏塊的估計(jì)運(yùn)動(dòng)。例如,運(yùn)動(dòng)矢量定義P-幀中的宏塊與參考幀中的“最佳匹配”塊之間的相對(duì)位移。
將運(yùn)動(dòng)矢量施加到參考幀,以便生成幀“V”,其是P-幀的近似。通過將參考幀中的每一宏塊移位由一個(gè)運(yùn)動(dòng)矢量表示的量,將運(yùn)動(dòng)矢量施加到參考幀。然后從P-幀中減去幀“V”,以便生成預(yù)測(cè)誤差幀“E”,并且將幀“E”與運(yùn)動(dòng)矢量一起存儲(chǔ),以便最終重構(gòu)P-幀。
在基于運(yùn)動(dòng)矢量和幀“E”重構(gòu)幀時(shí),將運(yùn)動(dòng)矢量加到參考幀,以便產(chǎn)生幀“V”,并且隨后將幀“E”加到幀“V”,以便產(chǎn)生原始P-幀的近似。因?yàn)閹癊”用于補(bǔ)償幀“V”中的誤差,因此通常將幀“E”稱作“運(yùn)動(dòng)補(bǔ)償誤差”。因此,依靠生成如上所述的運(yùn)動(dòng)矢量和運(yùn)動(dòng)補(bǔ)償誤差的編碼技術(shù)通常被稱作“運(yùn)動(dòng)補(bǔ)償幀間編碼”。
通常使用幀內(nèi)DCT編碼、量化和VLC來編碼幀“E”。這往往明顯地減少表示幀“E”所需的位數(shù),尤其是在幀“V”非常類似于P-幀的情況下,即預(yù)測(cè)誤差較小的情況下。在這些情況下,與幀“E”對(duì)應(yīng)的量化DCT系數(shù)塊往往包含大量的零。結(jié)果,VLC通常實(shí)現(xiàn)對(duì)于DCT系數(shù)塊的有效壓縮。
以類似于P-幀的方式對(duì)B-幀編碼。然而,相對(duì)于兩個(gè)參考幀而不是一個(gè)參考幀執(zhí)行B-幀的運(yùn)動(dòng)估計(jì)-參考幀是輸入視頻序列中的先前和下一I-幀或P-幀,并且運(yùn)動(dòng)估計(jì)產(chǎn)生通常基于相對(duì)于兩個(gè)參考幀執(zhí)行的運(yùn)動(dòng)估計(jì)而平均的運(yùn)動(dòng)矢量。
應(yīng)當(dāng)特別注意,通常不對(duì)原始輸入視頻幀執(zhí)行運(yùn)動(dòng)估計(jì),而是使用先前編碼和解碼的I-幀、P-幀和B-幀進(jìn)行。換句話說,在執(zhí)行運(yùn)動(dòng)估計(jì)之前,通過幀內(nèi)DCT編碼和量化,之后通過逆量化和逆DCT編碼對(duì)輸入視頻幀進(jìn)行預(yù)處理。這樣做使得在解碼器中可以重復(fù)基于運(yùn)動(dòng)矢量進(jìn)行幀估計(jì)。由于幀內(nèi)DCT編碼和量化導(dǎo)致輸入視頻幀丟失信息,因此對(duì)輸入視頻幀執(zhí)行運(yùn)動(dòng)估計(jì)將導(dǎo)致在解碼處理的預(yù)料之外的結(jié)果。由于MPEG編碼要求對(duì)先前編碼/解碼的幀執(zhí)行運(yùn)動(dòng)估計(jì),因此大多數(shù)MPEG編碼器包括用于產(chǎn)生這些幀的本地解碼器。
還應(yīng)當(dāng)注意,在用于P-幀或B-幀中的特定宏塊的運(yùn)動(dòng)補(bǔ)償誤差非常大的情況下,可以使用幀內(nèi)DCT編碼代替運(yùn)動(dòng)補(bǔ)償幀間編碼來編碼宏塊。這防止了由于序列的不良編碼引起的輸入視頻序列中的劇烈變化。
MPEG編碼的結(jié)果是能夠被存儲(chǔ)在存儲(chǔ)器中或者被發(fā)送到解碼器的壓縮位流(即,顏色圖像數(shù)據(jù))。位流通常包括任意VLD編碼的DCT系數(shù)和與每個(gè)幀相應(yīng)的運(yùn)動(dòng)矢量以及用于解碼所述幀的某些附加信息。附加信息通常包括每幀的類型、用于DCT系數(shù)的量化值等。
用于每個(gè)不同幀類型的解碼過程通常與用于編碼所述幀的過程相反。例如,通過使用查找表解碼VLC編碼的DCT系數(shù),將得到的DCT系數(shù)乘以量化值,并且隨后對(duì)DCT系數(shù)進(jìn)行逆DCT變換以得到一組用于輸出視頻幀的像素值來解碼I-幀。
對(duì)P-幀和B-幀執(zhí)行類似的相反過程,以便產(chǎn)生與輸入視頻幀對(duì)應(yīng)的輸出視頻幀。另外,使用上述的運(yùn)動(dòng)矢量和運(yùn)動(dòng)補(bǔ)償誤差來解碼P-幀和B-幀。
一旦完成解碼過程,就將輸出視頻幀重新排序成基于輸入視頻幀的它們?cè)柬樞颉?br>
為了簡(jiǎn)化解釋,已經(jīng)省略了解釋MPEG編碼和解碼的一些細(xì)節(jié)。另外,也省略了各種MPEG標(biāo)準(zhǔn)(包括MPEG-1、MPEG-2、MPEG-4和MPEG-7)的特定細(xì)節(jié)。然而,MPEG編碼和解碼是眾所周知的過程,于是省略的細(xì)節(jié)可從其他來源獲得。
實(shí)時(shí)MPEG編碼和解碼通常需要至少足夠的帶寬來實(shí)現(xiàn)每秒幾幀的幀速率。因此,幾幀中的每一幀被從輸入設(shè)備讀出并被寫入存儲(chǔ)器。然后,在存儲(chǔ)器與用于DCT編碼、量化、運(yùn)動(dòng)估計(jì)等的圖像壓縮模塊之間來回地連續(xù)傳送每幀內(nèi)的塊。這些操作可以容易地消耗傳統(tǒng)SOC結(jié)構(gòu)的可用帶寬,傳統(tǒng)SOC結(jié)構(gòu)通常依靠較慢高密度的存儲(chǔ)器,例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)或閃存。在SOC結(jié)構(gòu)中使用高密度存儲(chǔ)器,因?yàn)樗鼈冚^便宜,占用較少空間,并且它們比諸如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)的較快低密度存儲(chǔ)器具有更大的容量。
圖1和2是圖解說明傳統(tǒng)SOC結(jié)構(gòu)的方框圖。圖1示出了傳統(tǒng)的單層SOC總線結(jié)構(gòu),而圖2示出了傳統(tǒng)的多層SOC總線結(jié)構(gòu)。
在圖1所示的傳統(tǒng)單層SOC總線結(jié)構(gòu)中,多個(gè)模塊10至80連接到單個(gè)系統(tǒng)總線12。術(shù)語“模塊”此處被用來表示電子設(shè)備內(nèi)特定的功能實(shí)體。例如,一個(gè)模塊可以表示包含一組軟件例程、特定硬件(例如電路)配置、和/或它們的一些組合。術(shù)語“模塊”也可以表示功能性實(shí)體的集合,即多個(gè)模塊、或者甚至是一個(gè)模塊內(nèi)的子元件。
參考圖1,模塊10包括精簡(jiǎn)指令集計(jì)算機(jī)(RISC),模塊20包括相機(jī)接口,模塊30包括運(yùn)動(dòng)圖像壓縮模塊,模塊40包括靜止圖像壓縮模塊,模塊50包括圖形加速模塊,以及模塊60包括被適配成將圖像數(shù)據(jù)傳送到液晶顯示(LCD)設(shè)備的傳送模塊。模塊70包括存儲(chǔ)器控制器,模塊80包括高密度(例如,DRAM)存儲(chǔ)器。
圖1所示的SOC總線結(jié)構(gòu)可能是最通用的SOC總線結(jié)構(gòu)-至少部分因?yàn)槠涞统杀竞鸵讓?shí)現(xiàn)。然而,因?yàn)樵诳偩€12上的帶寬需求是通過相加對(duì)于每個(gè)連接的模塊的帶寬需求而確定的,因此總的可用帶寬可以被僅少量的連接模塊的需要消耗。具體地,當(dāng)正在處理輸入視頻時(shí),總的可用系統(tǒng)總線帶寬可以容易地被運(yùn)動(dòng)圖像壓縮模塊和相機(jī)接口的帶寬需求消耗(或者超過)。
如在圖1和2所示的示例性示例之間,并且通常在下面的整個(gè)描述中,相同的附圖標(biāo)記表示相同或類似的元件。因此,在圖2的多層SOC總線結(jié)構(gòu)中,模塊10連接到第一總線12-1,模塊20、30和40連接到第二總線12-2,以及模塊50和60連接到第三總線12-3。第一、第二和第三總線分別連接到三個(gè)存儲(chǔ)器控制器70-1、70-2和70-3,并且該三個(gè)存儲(chǔ)器控制器分別連接到三個(gè)高密度存儲(chǔ)器80-1、80-2和80-3。
通過使用多(例如,三)層,圖2所示的SOC總線結(jié)構(gòu)提供比圖1所示的單系統(tǒng)總線結(jié)構(gòu)更可用的帶寬。也就是,圖2所示的系統(tǒng)可用的總帶寬是每個(gè)總線層中可用帶寬的總和。通過提供更多的帶寬,圖2的SOC總線結(jié)構(gòu)能夠有效地支持實(shí)時(shí)多媒體處理。然而,不幸的是,多層總線系統(tǒng)比較昂貴且難以制造。結(jié)果,這種系統(tǒng)類型不太適于低成本和易實(shí)現(xiàn)較重要的商業(yè)產(chǎn)品制造。另外,使用圖2的多層總線結(jié)構(gòu)獲得的性能改進(jìn)仍然可能受到高密度存儲(chǔ)器80-2的存取速度的限制,例如,高密度存儲(chǔ)器80-2的訪問速度不足以適應(yīng)運(yùn)動(dòng)圖像壓縮模塊30的帶寬需要。
圖3示出了非SOC計(jì)算機(jī)系統(tǒng)的傳統(tǒng)總線結(jié)構(gòu)的婦方框圖。例如在美國(guó)專利No.5784592中公開了這種系統(tǒng)。
參考圖3,PC計(jì)算機(jī)系統(tǒng)通過在標(biāo)準(zhǔn)局域總線120和實(shí)時(shí)多媒體總線130B之間放置多媒體存儲(chǔ)器160而使能高性能多媒體處理。多媒體存儲(chǔ)器160提供用于多媒體設(shè)備142B、144B和146B的存儲(chǔ),從而它們可以處理多媒體信息,而不必競(jìng)爭(zhēng)對(duì)標(biāo)準(zhǔn)局域總線120的訪問。
中央處理單元(CPU)102通過芯片組(chipset)106B控制多媒體存儲(chǔ)器和多媒體設(shè)備的操作。CPU將多媒體數(shù)據(jù)從主存儲(chǔ)器110傳送到多媒體存儲(chǔ)器,并且將指示何時(shí)啟動(dòng)或停止某些多媒體處理功能和何時(shí)通過總線120發(fā)送數(shù)據(jù)的控制信號(hào)發(fā)送到多媒體存儲(chǔ)器和多媒體設(shè)備。
圖3所示的計(jì)算機(jī)系統(tǒng)具有至少兩個(gè)限制。一個(gè)限制是需要將多媒體數(shù)據(jù)從主存儲(chǔ)器取出(fetch to)到多媒體存儲(chǔ)器。這增加了多媒體處理過程的開銷,其中所述多媒體處理過程基于頻率而執(zhí)行取出操作。另一個(gè)限制與第一個(gè)限制有關(guān),是多媒體存儲(chǔ)器的大小。多媒體存儲(chǔ)器被設(shè)計(jì)成除了存儲(chǔ)多媒體數(shù)據(jù)外還存儲(chǔ)包括來自主存儲(chǔ)器的代碼和溢出數(shù)據(jù)的大量數(shù)據(jù)。盡管大尺寸的多媒體存儲(chǔ)器可以有助于減少?gòu)闹鞔鎯?chǔ)器取出多媒體數(shù)據(jù)的頻率,但是這使得難以在諸如SOC的小區(qū)域中實(shí)現(xiàn)所建議的系統(tǒng)結(jié)構(gòu)。
由于至少在傳統(tǒng)系統(tǒng)中出現(xiàn)的上述限制,對(duì)于多媒體處理應(yīng)用需要一種改進(jìn)的SOC總線結(jié)構(gòu)。
發(fā)明內(nèi)容
意識(shí)到需要支持基于應(yīng)用的改進(jìn)SOC中多媒體性能的總線結(jié)構(gòu),本發(fā)明的實(shí)施例提供了減少由各種多媒體處理過程消耗的主系統(tǒng)總線帶寬量的有效技術(shù)。在一個(gè)方面,本發(fā)明提供了被適配成將多媒體處理模塊連接到輔助存儲(chǔ)器的輔助總線。在SOC內(nèi)操作的多媒體處理模塊被適配成“傳送”(例如,發(fā)送和/或接收;讀和/或?qū)?數(shù)據(jù)到/從主存儲(chǔ)器和輔助存儲(chǔ)器,從而在兩個(gè)總線結(jié)構(gòu)之間劃分它們各自的帶寬需要。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,一種SOC總線結(jié)構(gòu)包括主總線,其被適配成將微處理器、圖像捕獲模塊和雙主導(dǎo)模塊連接到高密度主存儲(chǔ)器;和高速輔助總線,其與主總線獨(dú)立操作,并且被適配成將雙主導(dǎo)模塊連接到高速輔助存儲(chǔ)器。
根據(jù)本發(fā)明的另一實(shí)施例,提供了一種適于在SOC總線結(jié)構(gòu)中使用的方法。所述方法包括接收與當(dāng)前幀對(duì)應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù);將光柵掃描順序的當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊,并且將多個(gè)宏塊存儲(chǔ)在輔助存儲(chǔ)器中。所述方法還包括經(jīng)由輔助總線將多個(gè)宏塊從輔助存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;經(jīng)由主總線將與先前幀對(duì)應(yīng)的先前圖像數(shù)據(jù)從主存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;和根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)而生成壓縮圖像數(shù)據(jù)。
根據(jù)本發(fā)明的又一實(shí)施例,一種適于SOC總線結(jié)構(gòu)中使用的另一種方法包括接收與當(dāng)前幀對(duì)應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù);將光柵掃描順序的當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊,并且將多個(gè)宏塊存儲(chǔ)在輔助存儲(chǔ)器中;將與先前幀對(duì)應(yīng)的先前圖像數(shù)據(jù)傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊。所述方法還包括經(jīng)由輔助總線將多個(gè)宏塊從輔助存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)而生成壓縮圖像數(shù)據(jù);和將壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器。
根據(jù)本發(fā)明的又一實(shí)施例,一種適于SOC總線結(jié)構(gòu)中使用的方法包括從圖像捕獲模塊接收光柵掃描順序的圖像數(shù)據(jù);將光柵掃描順序的圖像數(shù)據(jù)重新排列成多個(gè)最小編碼單元(MCU);經(jīng)由輔助總線將多個(gè)最小編碼單元(MCU)存儲(chǔ)在輔助存儲(chǔ)器中;根據(jù)多個(gè)MCU而生成壓縮圖像數(shù)據(jù);和經(jīng)由主總線將壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中。
根據(jù)本發(fā)明的又一實(shí)施例,一種適于SOC中使用的方法。所述SOC包括主總線,用于將主存儲(chǔ)器與圖形加速模塊和運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接;和高速輔助總線,其與主總線獨(dú)立操作,并且將高速輔助存儲(chǔ)器與圖形加速模塊和運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接。所述方法包括在圖形加速模塊中經(jīng)由主總線接收來自主存儲(chǔ)器的圖形數(shù)據(jù);經(jīng)由輔助總線將圖形數(shù)據(jù)的模式圖像數(shù)據(jù)從輔助存儲(chǔ)器傳送到圖形加速模塊,以便修改所述圖形數(shù)據(jù);經(jīng)由主總線將修改的圖形數(shù)據(jù)傳送到主存儲(chǔ)器。
根據(jù)本發(fā)明的又一實(shí)施例,一種適于SOC總線結(jié)構(gòu)中使用的方法包括使用運(yùn)動(dòng)圖像壓縮模塊來執(zhí)行使用與輔助存儲(chǔ)器中存儲(chǔ)的當(dāng)前幀對(duì)應(yīng)的多個(gè)宏塊以及與先前幀對(duì)應(yīng)的解碼版本的先前圖像數(shù)據(jù)的運(yùn)動(dòng)估計(jì),并且使用多個(gè)宏塊以及主存儲(chǔ)器中存儲(chǔ)的解碼版本的先前圖像數(shù)據(jù)來執(zhí)行運(yùn)動(dòng)補(bǔ)償。所述方法還包括存儲(chǔ)壓縮圖像數(shù)據(jù)。
下面參考附圖中圖解的幾個(gè)實(shí)施例來描述本發(fā)明。整個(gè)附圖中相同的附圖標(biāo)記表示相同的示例性元件、組件或者步驟。附圖中圖1是圖解說明傳統(tǒng)的SOC總線結(jié)構(gòu)的方框圖;圖2是圖解說明傳統(tǒng)的多層SOC總線結(jié)構(gòu)的方框圖;圖3是圖解說明傳統(tǒng)的非SOC總線結(jié)構(gòu)的方框圖;圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的SOC總線結(jié)構(gòu)的方框圖;圖5是圖解說明根據(jù)本發(fā)明一個(gè)實(shí)施例的總線仲裁模塊的方框圖;圖6是根據(jù)本發(fā)明另一個(gè)實(shí)施例的SOC總線結(jié)構(gòu)的方框圖;圖7是圖解說明根據(jù)本發(fā)明一個(gè)實(shí)施例的、使用SOC執(zhí)行MPEG編碼的方法的流程圖;圖8是圖解說明根據(jù)本發(fā)明另一個(gè)實(shí)施例的、使用SOC執(zhí)行MPEG編碼的方法的流程圖;圖9是圖解說明根據(jù)本發(fā)明又一個(gè)實(shí)施例的、使用SOC執(zhí)行MPEG編碼的方法的流程圖;和圖10是圖解說明根據(jù)本發(fā)明實(shí)施例的、使用SOC執(zhí)行JPEG(聯(lián)合圖像專家組)編碼的方法的流程圖;和圖11是圖解說明與圖4和6所示的一樣的、適于在SOC總線結(jié)構(gòu)中使用并且可被適配成執(zhí)行傳統(tǒng)圖形處理的另一示例性方法的流程圖。
具體實(shí)施例方式
下面參考附圖來描述本發(fā)明的示例性實(shí)施例。這些實(shí)施例作為示教示例而呈現(xiàn)。本發(fā)明的實(shí)際范圍由所附權(quán)利要求限定。
在總的應(yīng)用中,本發(fā)明的實(shí)施例提供了一種適于執(zhí)行多媒體處理的片上系統(tǒng)(SOC)的雙層總線結(jié)構(gòu)。所述雙層總線結(jié)構(gòu)包括分別將一個(gè)和多個(gè)適于處理多媒體信息的模塊連接到主存儲(chǔ)器和輔助存儲(chǔ)器的主總線和輔助總線。將所述模塊連接到所述兩總線通過在兩總線之間劃分模塊的帶寬需要而提高了SOC的多媒體處理性能。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的SOC總線結(jié)構(gòu)的方框圖。參考圖4,SOC總線結(jié)構(gòu)包括將微處理器310、圖像捕獲模塊330、雙主導(dǎo)模塊300、和顯示控制模塊370連接到高密度主存儲(chǔ)器392的主總線312。主存儲(chǔ)器包括例如用于控制至少一個(gè)位于SOC外部的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)模塊390的主存儲(chǔ)器控制器382。主總線仲裁器電路314控制對(duì)主總線312的訪問。
圖4的SOC總線結(jié)構(gòu)還包括高速輔助總線322,其與主總線312獨(dú)立操作并且將雙主導(dǎo)模塊300連接到高速輔助存儲(chǔ)器324。輔助存儲(chǔ)器324包括例如用于控制至少一個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)模塊320的輔助存儲(chǔ)器控制器380。
如圖4所示,雙主導(dǎo)模塊300包括例如運(yùn)動(dòng)圖像壓縮模塊340、靜止圖像壓縮模塊350、和圖形加速模塊360,它們中的每一個(gè)分別連接到主總線312和輔助總線。
在一個(gè)實(shí)施例中,運(yùn)動(dòng)圖像壓縮模塊340被適配成接收原始圖像數(shù)據(jù)作為一組紅-綠-藍(lán)(RGB)值或者作為一組亮度和色度(YCbCr或YUV)值。運(yùn)動(dòng)圖像壓縮模塊接收的原始圖像數(shù)據(jù)通常對(duì)應(yīng)于諸如流視頻序列的運(yùn)動(dòng)圖像序列。運(yùn)動(dòng)圖像壓縮模塊例如使用諸如MPEG編碼的一些編碼格式來壓縮和/或解壓縮圖像數(shù)據(jù)。
類似地,在一個(gè)實(shí)施例中,靜止圖像壓縮模塊350被適配成接收原始圖像數(shù)據(jù)作為一組RGB值或者YCbCr或YUV值。然而,靜止圖像模塊接收的圖像數(shù)據(jù)通常對(duì)應(yīng)于單個(gè)圖像。靜止圖像壓縮模塊例如使用諸如JPEG編碼的一些編碼格式來壓縮和/或解壓縮原始圖像數(shù)據(jù)。
在假設(shè)運(yùn)動(dòng)圖像壓縮模塊340使用MPEG編碼的情況下,它將包括MPEG編碼器/解碼器(編解碼器)。在當(dāng)代的系統(tǒng)中,MPEG編解碼器服從MPEG-4或者M(jìn)PEG-2。類似地,在假設(shè)靜止圖像壓縮模塊350使用JPEG編碼的情況下,它將包括JPEG編解碼器。
而現(xiàn)在,圖形加速模塊360將附加的特定性能提供給SOC。例如,圖形加速模塊360可以執(zhí)行與將要隨后在系統(tǒng)顯示器(未示出)上顯示的圖像數(shù)據(jù)相關(guān)的多邊形呈現(xiàn)或紋理映射。
雙主導(dǎo)模塊300從圖像捕獲模塊330或從主存儲(chǔ)器392接收原始圖像數(shù)據(jù)(或更通常是任意掃描順序的圖像數(shù)據(jù))。通過輔助總線332或通過(被可選提供的)圖像數(shù)據(jù)總線331可以將原始圖像數(shù)據(jù)從圖像捕獲模塊330傳送到雙主導(dǎo)模塊300,所述圖像數(shù)據(jù)總線331將圖像捕獲模塊330直接連接到運(yùn)動(dòng)圖像壓縮模塊340和/或靜止圖像壓縮模塊360。
圖像捕獲模塊330從通常位于SOC外部的圖像捕獲設(shè)備(未示出)接收數(shù)據(jù)。圖像捕獲設(shè)備可以包括攝像機(jī)、照相機(jī)、觸摸屏、或?qū)⒁粋€(gè)或多個(gè)輸入信號(hào)轉(zhuǎn)換成一個(gè)或多個(gè)輸出信號(hào)并且然后將輸出信號(hào)通信給圖像捕獲模塊330的任何其他設(shè)備。例如,圖像捕獲設(shè)備可以使用電子組件、光器件、容性傳感器、變換器、電化學(xué)傳感器、紅外檢測(cè)器等的一些組合來變換接收到的圖像捕獲信號(hào)。所述圖像捕獲設(shè)備然后可以以離散或數(shù)字格式將相應(yīng)的電信號(hào)提供給圖像捕獲模塊330。
圖像捕獲模塊330通常包括特定接口電路,其被適配成接收來自特定類型的圖像捕獲設(shè)備的電信號(hào)。例如,在圖像捕獲設(shè)備包括外部相機(jī)的情況下,圖像捕獲模塊330可以包括相機(jī)接口電路,其被適配成連接到外部相機(jī)并接收來自相機(jī)的特定信號(hào)。在這種情況下,來自相機(jī)的信號(hào)可以包含RGB、YCbCr或YUV格式的原始圖像數(shù)據(jù)。
在圖像捕獲設(shè)備包括外部相機(jī)的情況下,所述相機(jī)可以包括大量能夠成像技術(shù)中的任何一種,包括例如互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)圖像傳感器或帶電耦合器件(CCD)圖像傳感器。另外,圖像捕獲設(shè)備可以將用于離散、二次抽樣、濾波、或在傳送圖像數(shù)據(jù)之前對(duì)其進(jìn)行處理的圖像信號(hào)處理器(SP)提供給圖像捕獲模塊330。
在接收?qǐng)D像數(shù)據(jù)之后,圖像捕獲模塊330可以將圖像數(shù)據(jù)傳送到其他模塊用以進(jìn)一步處理。例如,圖像數(shù)據(jù)可被傳送到主存儲(chǔ)器392,從而它可被數(shù)字定標(biāo)、旋轉(zhuǎn)、二次抽樣、過濾等。
一旦圖像數(shù)據(jù)被處理了,(例如變換、壓縮等),它就可被存儲(chǔ)在高密度主存儲(chǔ)器392中或者使用顯示控制模塊370被輸出到系統(tǒng)顯示器。顯示控制模塊370連接和/或控制一個(gè)或多個(gè)系統(tǒng)顯示器,所述系統(tǒng)顯示器可以采用包括液晶顯示器(LCD)、陰極射線管(CRT)、打印機(jī)等的許多形式。
圖4所示的雙層總線結(jié)構(gòu)對(duì)多媒體使能的設(shè)備提供了一些好處。例如,連接到雙主導(dǎo)模塊300的輔助存儲(chǔ)器324允許運(yùn)動(dòng)圖像壓縮模塊340和靜止圖像壓縮模塊350有效地讀/寫數(shù)據(jù),而不必競(jìng)爭(zhēng)與主總線312相關(guān)的資源,并且不必等待通常較慢存取速度的主存儲(chǔ)器392。結(jié)果,主總線312不可能受挫于與為圖像壓縮技術(shù)特征的帶寬程度數(shù)據(jù)傳送相關(guān)的超出帶寬需求。
現(xiàn)在參考圖5,可以通過連接到輔助總線322的輔助總線仲裁機(jī)構(gòu)來控制對(duì)輔助存儲(chǔ)器324的存取。圖5是圖解說明具有多路復(fù)用邏輯電路342的形式的輔助總線仲裁機(jī)構(gòu)的方框圖。本領(lǐng)域的普通技術(shù)人員將會(huì)意識(shí)到在多路復(fù)用邏輯電路342的實(shí)現(xiàn)中許多具體電路設(shè)計(jì)都是可能的,只要所述電路確保雙主導(dǎo)模塊300中的至多一個(gè)模塊在任意時(shí)間點(diǎn)訪問輔助總線322?;蛘?,可以提供傳統(tǒng)提供的輔助總線仲裁器394,其在形式和操作上類似于主總線仲裁器314。(請(qǐng)參考圖6)。
然而,在圖5中,多路復(fù)用邏輯電路342接收運(yùn)動(dòng)圖像壓縮模塊340、靜止圖像壓縮模塊350、和圖形加速模塊360輸出的數(shù)據(jù),并且將從這些模塊中的至多一個(gè)中接收到的數(shù)據(jù)施加到輔助總線322。多路復(fù)用邏輯電路342可以響應(yīng)外部和/或內(nèi)部控制信號(hào)而對(duì)雙主導(dǎo)模塊300中的每個(gè)多路復(fù)用模塊分配帶寬。例如,內(nèi)部控制信號(hào)可以由多路復(fù)用邏輯電路342內(nèi)并入的帶寬調(diào)度器(scheduler)來生成。或者,外部控制信號(hào)可以由微處理器310或圖像捕獲模塊330來生成。
圖6是根據(jù)本發(fā)明另一個(gè)實(shí)施例的SOC總線結(jié)構(gòu)的方框圖。圖6所示的SOC總線結(jié)構(gòu)與圖4所示的相同,除了在圖6中的,輔助總線仲裁器電路394代替多路復(fù)用邏輯電路342被用來控制對(duì)輔助存儲(chǔ)器的訪問。
使用傳統(tǒng)的技術(shù),輔助總線仲裁器電路394通過雙主導(dǎo)模塊300中的模塊控制對(duì)輔助總線322的訪問和使用來控制對(duì)輔助存儲(chǔ)器324的訪問。為了準(zhǔn)予對(duì)輔助總線322的訪問,雙主導(dǎo)模塊300中的模塊必須首先通常生成訪問請(qǐng)求信號(hào)。輔助總線仲裁器電路394然后通過生成訪問準(zhǔn)予響應(yīng)信號(hào)而響應(yīng)訪問請(qǐng)求信號(hào)。一旦接收訪問準(zhǔn)予響應(yīng)信號(hào),請(qǐng)求模塊使用一組預(yù)定操作來啟動(dòng)輔助總線322上的數(shù)據(jù)傳送。
圖7到10是圖解說明適于在雙層SOC總線結(jié)構(gòu)中使用的示例性方法的流程圖。在該書面說明書中,通過諸如(000)的括號(hào)來指定示例性方法步驟以區(qū)分于示例性系統(tǒng)元件(不用括號(hào)示出的),與在圖4至6一樣。具體地,圖7至9圖解說明了與在圖4和6中所示一樣的、適于在雙層SOC總線結(jié)構(gòu)中使用的示例性方法。為了承上啟下解釋,假設(shè)示例性系統(tǒng)使用MPEG相關(guān)的編碼方案。圖10圖解說明了與圖4和6中所示一樣的、適于在雙層SOC總線結(jié)構(gòu)中使用的又一示例性方法。再次為了有意義的上下文圖解,假設(shè)示例性系統(tǒng)使用JPEG相關(guān)的編碼方案。
關(guān)于圖7至9描述的方法被用于具有輔助存儲(chǔ)器大小的范圍的示例性實(shí)施例。也就是,本發(fā)明意識(shí)到與合并根據(jù)本發(fā)明設(shè)計(jì)的SOC的產(chǎn)品相關(guān)的實(shí)際限制可能規(guī)定了相關(guān)輔助存儲(chǔ)器的尺寸。最近,昂貴的產(chǎn)品可以具有合并相對(duì)大的輔助存儲(chǔ)器的奢侈性。受尺寸、成本或向后兼容性限制的產(chǎn)品可以僅包括相對(duì)小的輔助存儲(chǔ)器。從下面可以看出,本發(fā)明的優(yōu)點(diǎn)可應(yīng)用于一系列的產(chǎn)品類型和一系列具有不同性能(例如,輔助存儲(chǔ)器尺寸)的產(chǎn)品。
例如,關(guān)于圖7圖解的方法尤其適用于包括具有相對(duì)小的存儲(chǔ)容量的輔助存儲(chǔ)器324的系統(tǒng)。在這種情況下,使用輔助存儲(chǔ)器324來臨時(shí)存儲(chǔ)例如在正在進(jìn)行的MPEG編碼操作中使用的當(dāng)前圖像數(shù)據(jù)的多個(gè)宏塊。在下面的描述中,術(shù)語“當(dāng)前”和“先前”是對(duì)幀序列的時(shí)間參考,與關(guān)于MPEG編碼/解碼操作中上述的一樣。然而,這些只是方便的說明示例。術(shù)語“當(dāng)前幀(或數(shù)據(jù))”和“先前幀(或數(shù)據(jù))”在基于非MPEG的描述性示例的環(huán)境中可以被分別廣泛解釋為“一個(gè)數(shù)據(jù)組”和“另一個(gè)時(shí)間相關(guān)的數(shù)據(jù)組”。
現(xiàn)在參考圖4、6和7,運(yùn)動(dòng)圖像壓縮模塊340接收與輸入視頻序列中的當(dāng)前幀相應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù)。術(shù)語“光柵掃描順序的”顯而易見地參考由傳統(tǒng)服從MPEG的圖像捕獲模塊和相關(guān)圖像捕獲設(shè)備提供的視頻圖像數(shù)據(jù)的順序。更普遍地,該術(shù)語與術(shù)語“原始圖像數(shù)據(jù)”一起描述任意順序的來自適于視覺顯示的任意更大的圖像數(shù)據(jù)組的視頻數(shù)據(jù)序列。在所圖解的實(shí)施例中,通常在運(yùn)動(dòng)圖像壓縮模塊340中經(jīng)由直接連接圖像數(shù)據(jù)總線331從圖像捕獲模塊330接收光柵掃描順序的當(dāng)前圖像數(shù)據(jù)。
將光柵掃描順序的當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊(702),經(jīng)由輔助總線322將其存儲(chǔ)在輔助存儲(chǔ)器324中(705)。經(jīng)由輔助總線322將多個(gè)宏塊傳送到運(yùn)動(dòng)圖像壓縮模塊340,并且經(jīng)由主總線312將與輸入視頻序列中的先前幀對(duì)應(yīng)的先前圖像數(shù)據(jù)從主存儲(chǔ)器392傳送到運(yùn)動(dòng)圖像壓縮模塊340(706)。
使用先前圖像數(shù)據(jù)對(duì)每個(gè)宏塊執(zhí)行運(yùn)動(dòng)估計(jì)(703),從而生成與多個(gè)宏塊對(duì)應(yīng)的多個(gè)運(yùn)動(dòng)矢量。然后運(yùn)動(dòng)圖像壓縮模塊340根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)生成壓縮圖像數(shù)據(jù)(704)。根據(jù)運(yùn)動(dòng)矢量和壓縮圖像數(shù)據(jù)對(duì)于每個(gè)宏塊生成運(yùn)動(dòng)補(bǔ)償誤差塊。然后經(jīng)由主總線312將壓縮圖像數(shù)據(jù)和解碼版本的壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器392中。
在隨后的解碼操作中通過將運(yùn)動(dòng)補(bǔ)償塊加到通過將運(yùn)動(dòng)矢量施加到先前圖像數(shù)據(jù)而生成的相應(yīng)宏塊近似值(approximation)來執(zhí)行運(yùn)動(dòng)補(bǔ)償(703)。
通常以解碼形式將先前圖像數(shù)據(jù)從主存儲(chǔ)器392傳送到運(yùn)動(dòng)圖像壓縮模塊340。這允許運(yùn)動(dòng)圖像壓縮模塊340執(zhí)行運(yùn)動(dòng)估計(jì)而不需要首先解碼先前圖像數(shù)據(jù)。
圖8圖解說明了適于在其中輔助存儲(chǔ)器324具有中等尺寸的存儲(chǔ)容量的SOC中使用的又一示例性方法。在具有大于上述示例的輔助存儲(chǔ)器的系統(tǒng)中,輔助存儲(chǔ)器324可被用來不僅存儲(chǔ)當(dāng)前幀數(shù)據(jù),還被用來存儲(chǔ)在MPEG編碼處理期間將要使用的一個(gè)或多個(gè)先前幀的色度部分。
參考圖8,運(yùn)動(dòng)圖像壓縮模塊340接收與當(dāng)前幀對(duì)應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù)。然后將當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊(802)并且使用輔助總線322將其存儲(chǔ)在輔助存儲(chǔ)器324中(807)。然后經(jīng)由主總線312將與先前幀對(duì)應(yīng)的解碼版本的先前圖像數(shù)據(jù)的亮度部分從主存儲(chǔ)器392讀到運(yùn)動(dòng)圖像壓縮模塊340(805)。然而,經(jīng)由輔助總線322將解碼版本的先前圖像數(shù)據(jù)的色度部分從輔助存儲(chǔ)器324讀到運(yùn)動(dòng)圖像壓縮模塊340(808)。
經(jīng)由輔助總線322還將多個(gè)模塊從輔助存儲(chǔ)器324讀到運(yùn)動(dòng)圖像壓縮模塊340。然后使用所述宏塊和先前圖像數(shù)據(jù)的色度和亮度部分來執(zhí)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償(803)。也就是,運(yùn)動(dòng)圖像壓縮模塊340根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)的各個(gè)分量來生成壓縮圖像數(shù)據(jù)(804)。經(jīng)由主總線312將壓縮圖像數(shù)據(jù)和解碼版本的壓縮圖像數(shù)據(jù)的亮度部分寫到主存儲(chǔ)器324(806),但是經(jīng)由輔助總線322將解碼版本的壓縮圖像數(shù)據(jù)的色度部分寫到輔助存儲(chǔ)器324(809)。
圖9圖解說明了適于在其中輔助存儲(chǔ)器324具有相當(dāng)大的存儲(chǔ)容量的系統(tǒng)中使用的又一示例。在這種系統(tǒng)中,運(yùn)動(dòng)圖像壓縮模塊340使用輔助存儲(chǔ)器324來存儲(chǔ)在MPEG編碼和/或解碼處理期間將被使用的當(dāng)前幀和先前幀數(shù)據(jù)。
參考圖9,運(yùn)動(dòng)圖像壓縮模塊340接收與當(dāng)前幀對(duì)應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù)。將當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊(902)并且將其存儲(chǔ)在輔助存儲(chǔ)器324中(906)。經(jīng)由輔助總線322將與先前幀對(duì)應(yīng)的解碼版本的先前圖像數(shù)據(jù)從輔助存儲(chǔ)器324中讀到運(yùn)動(dòng)圖像壓縮模塊340(907),并且也經(jīng)由輔助總線322將多個(gè)宏塊從輔助存儲(chǔ)器324讀到運(yùn)動(dòng)圖像壓縮模塊340。然后使用宏塊以及先前圖像數(shù)據(jù)的亮度和色度部分來執(zhí)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償(903)。運(yùn)動(dòng)圖像壓縮模塊340根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)而生成壓縮圖像數(shù)據(jù)(904)。經(jīng)由主總線312將壓縮圖像數(shù)據(jù)寫到主存儲(chǔ)器392(905)。經(jīng)由輔助總線322將解碼版本的壓縮圖像數(shù)據(jù)寫到輔助存儲(chǔ)器324(908)。
在關(guān)于圖9所描述的方法中,從輔助存儲(chǔ)器324讀出并寫入其中的先前圖像數(shù)據(jù)包括相應(yīng)先前幀的亮度和色度兩個(gè)部分。類似地,當(dāng)前圖像數(shù)據(jù)和相應(yīng)的壓縮圖像數(shù)據(jù)也包含亮度和色度兩個(gè)部分。
圖10圖解說明了與圖4和6所示的一樣的、適于在SOC總線結(jié)構(gòu)中使用并且可被適配成執(zhí)行JPEG編碼的示例性方法。
參考圖10,靜止圖像壓縮模塊350接收光柵掃描順序的圖像數(shù)據(jù)。通常從一般連接到外部相機(jī)(未示出)的圖像捕獲模塊330接收?qǐng)D像數(shù)據(jù)。經(jīng)由輔助總線322將圖像數(shù)據(jù)存儲(chǔ)在輔助存儲(chǔ)器324中(1005)。靜止圖像壓縮模塊350將當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)最小編碼單元(MCU)(1002)。通常,每個(gè)MCU包括諸如RGB或YUV格式的8×8像素塊。隨后使用標(biāo)準(zhǔn)JPEG編碼算法從多個(gè)MCU生成壓縮圖像數(shù)據(jù)(1003)。JPEG編碼算法通常包括對(duì)每個(gè)MCU執(zhí)行DCT、量化、和VLC。然后經(jīng)由主總線312將壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器392中(1004)。通常,MCU被依次壓縮。換句話說,將MCU從輔助存儲(chǔ)器324讀到靜止圖像壓縮模塊350,并且以某些類型的連續(xù)順序進(jìn)行壓縮。
圖11是圖解說明與圖4和6所示的一樣的、適于在SOC總線結(jié)構(gòu)中使用并且可被適配成執(zhí)行傳統(tǒng)圖形處理的另一示例性方法的流程圖。
參考圖11,首先在圖形加速模塊360中通過主總線312從主存儲(chǔ)器392接收?qǐng)D形數(shù)據(jù)(1102)。隨后經(jīng)由輔助總線322將(不管是否被圖形加速模塊360首先調(diào)整的)圖形數(shù)據(jù)的某些部分寫到輔助存儲(chǔ)器324(1103)。根據(jù)傳統(tǒng)理解的技術(shù)使用輔助存儲(chǔ)器324來形成來自圖像數(shù)據(jù)的模式圖像數(shù)據(jù)。模式圖像數(shù)據(jù)是適于在LCD或者與所述系統(tǒng)相關(guān)的類似顯示器上顯示的圖形數(shù)據(jù)。例如,模式圖像數(shù)據(jù)可以定義在顯示控制模塊370的控制下將要在顯示器上圖形呈現(xiàn)的紋理圖或多邊形(例如三角形)陣列。一旦圖形加速模塊360使用輔助存儲(chǔ)器324調(diào)整圖形數(shù)據(jù),可以經(jīng)由主總線312將包含模式圖像數(shù)據(jù)的調(diào)整的圖形數(shù)據(jù)寫到主存儲(chǔ)器392(1104)。
在具有雙層總線結(jié)構(gòu)的幾個(gè)示例性系統(tǒng)的環(huán)境中描述了上面的示例。這些示例包含僅兩總線層,但是可以容易地包含多于兩總線。而且,雙主導(dǎo)模塊300被所示為連接到圖解示例的輔助和主總線,但是它可被容易地連接到附加總線結(jié)構(gòu)。在這一點(diǎn)上,雙主導(dǎo)模塊300在上面示例中圖解為包括運(yùn)動(dòng)圖像壓縮模塊、靜止圖像壓縮模塊和圖形加速模塊。本領(lǐng)域的普通技術(shù)人員將理解在本發(fā)明的其他實(shí)施例中可以出現(xiàn)僅一個(gè)或多個(gè)這樣的模塊中。而且,這些模塊可被合并到一個(gè)或多個(gè)集成電路。
這些修改僅僅是由上述示例建議的許多可能修改中的一些并且仍在方面的范圍之內(nèi)。類似地,上述的特定MPEG和JPEG相關(guān)方法示教了在任意合適的視頻數(shù)據(jù)壓縮過程環(huán)境(不管是標(biāo)準(zhǔn)的或是專用的)中本發(fā)明的更普遍的應(yīng)用。也就是,運(yùn)動(dòng)圖像壓縮模塊可以是服從MPEG模塊和/或可以通常包括一個(gè)或多個(gè)被適配成接收RGB、YCbCr或YUV格式的原始圖像數(shù)據(jù)的模塊。同樣地,靜止圖像壓縮模塊可以是服從JPEG模塊和/或可以通常包括一個(gè)或多個(gè)被適配成接收RGB、YCbCr或YUV格式的原始圖像數(shù)據(jù)的模塊。
因此,本發(fā)明不僅限于上面描述的示例性實(shí)施例或者所述示例的示教上下文(例如MPEG和JPEG)。相反,本發(fā)明的范圍由所附權(quán)利要求限定。
權(quán)利要求
1.一種片上系統(tǒng)總線結(jié)構(gòu),包括主總線,其被適配成將微處理器、圖像捕獲模塊和雙主導(dǎo)模塊連接到高密度主存儲(chǔ)器;和高速輔助總線,其與主總線獨(dú)立操作,并且被適配成將雙主導(dǎo)模塊連接到高速輔助存儲(chǔ)器。
2.如權(quán)利要求1所述的片上系統(tǒng)總線結(jié)構(gòu),其中所述雙主導(dǎo)模塊包括運(yùn)動(dòng)圖像壓縮模塊、靜止圖像壓縮模塊、和圖形加速模塊中的至少一個(gè)。
3.如權(quán)利要求2所述的片上系統(tǒng)總線結(jié)構(gòu),其中所述運(yùn)動(dòng)圖像壓縮模塊包括被適配成接收RGB、YCbCr或YUV格式的原始圖像數(shù)據(jù)的模塊,和其中所述靜止圖像壓縮模塊包括被適配成接收RGB、YCbCr或YUV格式的原始圖像數(shù)據(jù)的模塊。
4.如權(quán)利要求2所述的結(jié)構(gòu),還包括輔助總線仲裁模塊,用于控制對(duì)輔助存儲(chǔ)器的存取。
5.如權(quán)利要求4所述的結(jié)構(gòu),其中所述輔助總線仲裁模塊包括總線仲裁器電路或多路復(fù)用邏輯電路。
6.如權(quán)利要求1所述的結(jié)構(gòu),還包括主總線仲裁器電路,用于控制對(duì)主存儲(chǔ)器的存取。
7.如權(quán)利要求6所述的結(jié)構(gòu),其中所述主存儲(chǔ)器包括用于控制一個(gè)或多個(gè)DRAM模塊的主存儲(chǔ)器控制器,和其中所述輔助存儲(chǔ)器包括用于控制一個(gè)或多個(gè)SRAM模塊的輔助存儲(chǔ)器控制器。
8.如權(quán)利要求2所述的結(jié)構(gòu),還包括圖像數(shù)據(jù)總線,其直接連接圖像捕獲模塊和運(yùn)動(dòng)圖像壓縮模塊。
9.如權(quán)利要求8所述的結(jié)構(gòu),其中所述圖像捕獲模塊包括被適配成連接外部相機(jī)的相機(jī)接口電路。
10.如權(quán)利要求9所述的結(jié)構(gòu),其中所述外部相機(jī)提供可與RGB、YCbCr或YUV格式的原始圖像數(shù)據(jù)兼容的圖像數(shù)據(jù)。
11.如權(quán)利要求1所述的結(jié)構(gòu),還包括連接到主總線的顯示控制模塊。
12.一種適于在包括主總線和高速輔助總線的系統(tǒng)中使用的方法,所述主總線將主存儲(chǔ)器與運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,并且所述高速輔助總線與主總線獨(dú)立操作并將高速輔助存儲(chǔ)器與運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,所述方法包括接收與當(dāng)前幀對(duì)應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù);將光柵掃描順序的當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊,并且將多個(gè)宏塊存儲(chǔ)在輔助存儲(chǔ)器中;經(jīng)由輔助總線將多個(gè)宏塊從輔助存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;經(jīng)由主總線將與先前幀對(duì)應(yīng)的先前圖像數(shù)據(jù)從主存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;和根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)而生成壓縮圖像數(shù)據(jù)。
13.如權(quán)利要求12所述的方法,其中所述運(yùn)動(dòng)圖像壓縮模塊是符合MPEG的。
14.如權(quán)利要求13所述的方法,還包括經(jīng)由主總線將壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中。
15.如權(quán)利要求13所述的方法,其中以編碼和解碼兩個(gè)版本將壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中。
16.如權(quán)利要求13所述的方法,其中在運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊中,經(jīng)由圖像數(shù)據(jù)總線從直接連接到運(yùn)動(dòng)數(shù)據(jù)壓縮模塊的圖像捕獲模塊接收光柵掃描順序的當(dāng)前圖像數(shù)據(jù)。
17.如權(quán)利要求15所述的方法,其中傳送先前圖像數(shù)據(jù)包括經(jīng)由主總線從主存儲(chǔ)器傳送解碼版本的先前圖像數(shù)據(jù);和其中生成壓縮圖像數(shù)據(jù)包括使用多個(gè)宏塊和解碼版本的先前圖像數(shù)據(jù)來執(zhí)行運(yùn)動(dòng)估計(jì);和使用多個(gè)宏塊和解碼版本的先前圖像數(shù)據(jù)來執(zhí)行運(yùn)動(dòng)補(bǔ)償。
18.一種適于在包括主總線和高速輔助總線的系統(tǒng)中使用的方法,所述主總線將主存儲(chǔ)器與運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,并且所述高速輔助總線與主總線獨(dú)立操作并將高速輔助存儲(chǔ)器與運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,所述方法包括接收與當(dāng)前幀對(duì)應(yīng)的光柵掃描順序的當(dāng)前圖像數(shù)據(jù);將光柵掃描順序的當(dāng)前圖像數(shù)據(jù)重新排列成多個(gè)宏塊,并且將多個(gè)宏塊存儲(chǔ)在輔助存儲(chǔ)器中;將與先前幀對(duì)應(yīng)的先前圖像數(shù)據(jù)傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;經(jīng)由輔助總線將多個(gè)宏塊從輔助存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;根據(jù)多個(gè)宏塊和先前圖像數(shù)據(jù)而生成壓縮圖像數(shù)據(jù);和將壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器。
19.如權(quán)利要求18所述的方法,其中將先前圖像數(shù)據(jù)傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊還包括經(jīng)由主總線將解碼版本的先前圖像數(shù)據(jù)的色度和亮度部分從主存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊。
20.如權(quán)利要求19所述的方法,其中將壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器還包括將編碼和解碼版本的壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器。
21.如權(quán)利要求18所述的方法,其中將先前圖像數(shù)據(jù)傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊還包括經(jīng)由輔助總線將先前圖像數(shù)據(jù)的色度部分從輔助存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊;和經(jīng)由主總線將先前圖像數(shù)據(jù)的亮度部分從主存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊。
22.如權(quán)利要求21所述的方法,其中將壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器還包括經(jīng)由主總線將編碼版本的壓縮圖像數(shù)據(jù)和解碼版本的壓縮圖像數(shù)據(jù)的亮度部分傳送到主存儲(chǔ)器;和經(jīng)由輔助總線將解碼版本的壓縮圖像數(shù)據(jù)的色度部分傳送到輔助存儲(chǔ)器。
23.如權(quán)利要求18所述的方法,其中將先前圖像數(shù)據(jù)傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊還包括經(jīng)由輔助總線將先前圖像數(shù)據(jù)的亮度和色度兩個(gè)部分從輔助存儲(chǔ)器傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊。
24.如權(quán)利要求23所述的方法,其中將壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器還包括經(jīng)由輔助總線將解碼版本的壓縮圖像數(shù)據(jù)的亮度和色度兩個(gè)部分傳送到輔助存儲(chǔ)器;和經(jīng)由主總線將編碼版本的壓縮圖像數(shù)據(jù)的亮度和色度兩個(gè)部分傳送到主存儲(chǔ)器。
25.一種適于在系統(tǒng)中使用的方法,所述系統(tǒng)包括主總線,用于將主存儲(chǔ)器與靜止圖像數(shù)據(jù)壓縮模塊連接;和高速輔助總線,其與主總線獨(dú)立操作,并且將高速輔助存儲(chǔ)器與靜止圖像數(shù)據(jù)壓縮模塊連接,所述方法包括從圖像捕獲模塊接收光柵掃描順序的圖像數(shù)據(jù);經(jīng)由輔助總線將光柵掃描順序的圖像數(shù)據(jù)重新排列成存儲(chǔ)在輔助存儲(chǔ)器中的多個(gè)最小編碼單元(MCU);根據(jù)多個(gè)MCU而生成壓縮圖像數(shù)據(jù);和經(jīng)由主總線將壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中。
26.如權(quán)利要求25所述的方法,其中所述光柵掃描順序圖像數(shù)據(jù)是從連接到外部相機(jī)的圖像捕獲模塊接收的。
27.如權(quán)利要求26所述的方法,其中根據(jù)多個(gè)MCU生成壓縮圖像數(shù)據(jù)還包括將多個(gè)MCU中的每一個(gè)從輔助存儲(chǔ)器中依次讀至靜止圖像數(shù)據(jù)壓縮模塊。
28.一種適于在片上系統(tǒng)中使用的方法,所述片上系統(tǒng)包括主總線,用于將主存儲(chǔ)器與圖形加速模塊和運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接;和高速輔助總線,其與主總線獨(dú)立操作,并且將高速輔助存儲(chǔ)器與圖形加速模塊和運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,所述方法包括在圖形加速模塊中經(jīng)由主總線接收來自主存儲(chǔ)器的圖形數(shù)據(jù);經(jīng)由輔助總線將與圖形數(shù)據(jù)相關(guān)的模式圖像數(shù)據(jù)從輔助存儲(chǔ)器傳送到圖形加速模塊,以便修改所述圖形數(shù)據(jù);經(jīng)由主總線將修改的圖形數(shù)據(jù)傳送到主存儲(chǔ)器。
29.一種適于在包括主總線和高速輔助總線的系統(tǒng)中使用的方法,所述主總線將主存儲(chǔ)器與運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,并且所述高速輔助總線與主總線獨(dú)立操作并將高速輔助存儲(chǔ)器與運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊連接,所述方法在運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊中被執(zhí)行并且包括通過下列步驟來壓縮圖像數(shù)據(jù);使用與輔助存儲(chǔ)器中存儲(chǔ)的當(dāng)前幀對(duì)應(yīng)的多個(gè)宏塊以及與先前幀對(duì)應(yīng)的解碼版本的先前圖像數(shù)據(jù)來執(zhí)行運(yùn)動(dòng)估計(jì);和使用多個(gè)宏塊以及主存儲(chǔ)器中存儲(chǔ)的解碼版本的先前圖像數(shù)據(jù)來執(zhí)行運(yùn)動(dòng)補(bǔ)償;和存儲(chǔ)壓縮圖像數(shù)據(jù)。
30.如權(quán)利要求29所述的方法,其中將解碼版本的先前圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中并且經(jīng)由主總線將其傳送到運(yùn)動(dòng)圖像數(shù)據(jù)壓縮模塊。
31.如權(quán)利要求30所述的方法,其中存儲(chǔ)壓縮圖像數(shù)據(jù)還包括經(jīng)由主總線將編碼和解碼版本的壓縮圖像數(shù)據(jù)傳送到主存儲(chǔ)器。
32.如權(quán)利要求29所述的方法,其中解碼版本的先前圖像數(shù)據(jù)的色度部分被存儲(chǔ)在輔助存儲(chǔ)器中,并且解碼版本的先前圖像數(shù)據(jù)的亮度部分被存儲(chǔ)在主存儲(chǔ)器中。
33.如權(quán)利要求32所述的方法,其中存儲(chǔ)壓縮圖像數(shù)據(jù)還包括經(jīng)由主總線將編碼版本的壓縮圖像數(shù)據(jù)和解碼版本的壓縮圖像數(shù)據(jù)的亮度部分傳送到主存儲(chǔ)器;和經(jīng)由輔助總線將解碼版本的壓縮圖像數(shù)據(jù)的色度部分傳送到輔助存儲(chǔ)器。
34.如權(quán)利要求29所述的方法,其中將解碼的先前圖像數(shù)據(jù)的亮度和色度兩個(gè)部分都存儲(chǔ)在輔助存儲(chǔ)器中。
35.如權(quán)利要求34所述的方法,其中存儲(chǔ)壓縮數(shù)據(jù)還包括將包括亮度和色度部分的解碼版本的壓縮圖像數(shù)據(jù)存儲(chǔ)在輔助存儲(chǔ)器中;和將編碼版本的壓縮圖像數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中。
全文摘要
公開了一種用于片上系統(tǒng)(SOC)的雙層總線結(jié)構(gòu)。所述總線結(jié)構(gòu)包括主總線,其被適配成將微處理器、圖像捕獲模塊和雙主導(dǎo)(dual master)模塊連接到高密度存儲(chǔ)器;和高速輔助總線,其與主總線獨(dú)立操作,并且被適配成將雙主導(dǎo)模塊連接到高速輔助存儲(chǔ)器。
文檔編號(hào)G06F13/40GK1791219SQ200510131629
公開日2006年6月21日 申請(qǐng)日期2005年12月15日 優(yōu)先權(quán)日2004年12月15日
發(fā)明者樸賢相 申請(qǐng)人:三星電子株式會(huì)社