專利名稱:一種控制dibr系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于基于深度圖像繪制(Depth-Image-Based Rendering,簡(jiǎn)稱DIBR)技術(shù)領(lǐng)域,更為具體地講,涉及一種控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器(Multi-PortMemory Controller,簡(jiǎn)稱 MPMC)。
背景技術(shù):
基于深度圖像繪制(Depth-Image-Based Rendering,簡(jiǎn)稱DIBR)技術(shù)根據(jù)參考圖像(reference image)及其對(duì)應(yīng)的深度圖像(depth image)來(lái)生成新視點(diǎn)圖像(目標(biāo)圖像)。與傳統(tǒng)的需要傳遞左右眼兩路視頻的3D視頻相比,采用DIBR技術(shù)之后僅需要傳送一路視頻及其深度圖像就可生成立體圖像對(duì),而且可以很方便的實(shí)現(xiàn)二維和三維的切換正因?yàn)槿绱?,DIBR技術(shù)在3D電視立體圖像對(duì)(stereopair)的生成中得到了廣泛應(yīng)用,它也引起了人們愈來(lái)愈濃厚的興趣。 DIBR技術(shù)需要同時(shí)獲得參考圖像及其對(duì)應(yīng)深度圖數(shù)據(jù)才能進(jìn)行算法處理。然而,目前普通DVD只能以時(shí)分的形式串行輸出參考圖和其對(duì)應(yīng)的深度圖(即先輸出整幅參考圖再輸出對(duì)應(yīng)深度圖),這樣就導(dǎo)致DIBR算法模塊無(wú)法同時(shí)獲得深度圖和參考圖,進(jìn)而無(wú)法生成目標(biāo)圖。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器,保證參考圖和深度圖數(shù)據(jù)同時(shí)輸送給DIBR算法模塊進(jìn)行處理,以實(shí)現(xiàn)在普通DVD下產(chǎn)生3D效果。為實(shí)現(xiàn)上述目的,本發(fā)明控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器,其特征在于,包括基地址產(chǎn)生模塊、讀寫(xiě)信號(hào)產(chǎn)生模塊、外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊以及外部存儲(chǔ)控制器模塊;在普通DVD輸出第一巾貞,即第一巾貞參考圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊接收來(lái)自輸入接口單元的第一幀參考圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊將接收第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一參考圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第一幀參考圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第一幀參考圖像逐行存入外部存儲(chǔ)器中;在普通DVD輸出第二、第三幀時(shí),基地址產(chǎn)生模塊輸出地址為O ;在普通DVD輸出第四幀,即第一幀參考圖像對(duì)應(yīng)的深度圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器中第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊接收來(lái)自輸入接口單元的深度圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊將接收第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一深度圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第一幀參考圖像對(duì)應(yīng)的深度圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第一幀參考圖像對(duì)應(yīng)的深度圖像逐行存入外部存儲(chǔ)器中;在普通DVD輸出第五幀,即第二幀參考圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器第二參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、第一參考圖像存儲(chǔ)區(qū)的讀起始地址、第一深度圖像存儲(chǔ)區(qū)的讀起始地址以及目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的第二幀參考圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后依次產(chǎn)生參考圖像讀控制信號(hào)、深度圖像讀控制信號(hào)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,最后接收來(lái)自DIBR算法模塊的目標(biāo)圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第二參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第二參考圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信 號(hào)以及第二幀參考圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第二幀參考圖像存入外部存儲(chǔ)器中,然后,根據(jù)接收的第一參考圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第一參考圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第一幀參考圖像讀出,并發(fā)送給DIBR算法模塊,接著根據(jù)接收的第一深度圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第一深度圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第一幀參考圖像對(duì)應(yīng)的深度圖像讀出,并發(fā)送給DIBR算法模塊;最后,根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及自DIBR算法模塊的目標(biāo)圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將目標(biāo)圖像存入外部存儲(chǔ)器中;在普通DVD輸出第六幀時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,讀寫(xiě)信號(hào)產(chǎn)生模塊產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示;在普通DVD輸出第七幀時(shí),重復(fù)第五幀的第一幀參考圖像、第一幀參考圖像對(duì)應(yīng)深度圖像的讀取以及目標(biāo)圖像的存儲(chǔ);在普通DVD輸出第八幀時(shí),即第二幀參考圖像對(duì)應(yīng)的深度圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器中第二深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的深度圖像并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后,產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第二深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第二深度圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第二幀參考圖像對(duì)應(yīng)的深度圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第二幀參考圖像對(duì)應(yīng)的深度圖像存入外部存儲(chǔ)器中,然后根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,夕卜部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示;在普通DVD輸出第九幀,即第三幀參考圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、第二參考圖像存儲(chǔ)區(qū)的讀起始地址、第二深度圖像存儲(chǔ)區(qū)的讀起始地址以及目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的第三幀參考圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后依次產(chǎn)生參考圖像讀控制信號(hào)、深度圖像讀控制信號(hào)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,最后接收來(lái)自DIBR算法模塊的目標(biāo)圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器 控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一參考圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第三幀參考圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第三幀參考圖像存入外部存儲(chǔ)器中,然后,根據(jù)接收的第二參考圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第二參考圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第一幀參考圖像讀出,并發(fā)送給DIBR算法模塊,接著根據(jù)接收的第二深度圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第二深度圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第二幀參考圖像對(duì)應(yīng)的深度圖像讀出,并發(fā)送給DIBR算法模塊;最后,根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及來(lái)自DIBR算法模塊的目標(biāo)圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將目標(biāo)圖像存入外部存儲(chǔ)器中;在普通DVD輸出第十幀時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,讀寫(xiě)信號(hào)產(chǎn)生模塊產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示;在普通DVD輸出第i^一幀時(shí),重復(fù)第九幀的第二幀參考圖像、第二幀參考圖像對(duì)應(yīng)深度圖像的讀取以及目標(biāo)圖像的存儲(chǔ);在普通DVD輸出第十二幀時(shí),即第三幀參考圖像對(duì)應(yīng)的深度圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器中第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的深度圖像并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后,產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一深度圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第三幀參考圖像對(duì)應(yīng)的深度圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第三幀參考圖像對(duì)應(yīng)的深度圖像存入外部存儲(chǔ)器中,然后根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示;普通DVD輸出各幀重復(fù)第五到十二幀的處理方式,如此循環(huán)。本發(fā)明的發(fā)明目的是這樣實(shí)現(xiàn)的
DIBR技術(shù)能根據(jù)參考圖像及其對(duì)應(yīng)深度圖像生成任意視點(diǎn)目標(biāo)視圖,從而達(dá)到3D顯示效果。然而,目前普通DVD無(wú)法同時(shí)輸出參考圖和深度圖,因而需要對(duì)圖像進(jìn)行存儲(chǔ)。為了在普通DVD下也能產(chǎn)生3D效果,本發(fā)明使用外部存儲(chǔ)器作為外部緩存的存儲(chǔ)機(jī)制,將DIBR算法所需參考圖像和深度圖像全部存儲(chǔ)到外部存儲(chǔ)器中,然后讀給DIBR算法模塊,保證了參考圖像和深度圖像同時(shí)輸送給DIBR算法模塊進(jìn)行處理。實(shí)驗(yàn)表明,本發(fā)明控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器具有很好的可操作性,實(shí)現(xiàn)簡(jiǎn)單,可以大量縮減內(nèi)部存儲(chǔ)所消耗的資源。因而可以作為目前普通DVD視頻流實(shí)現(xiàn)DIBR技術(shù)的可行方案。
圖I是本發(fā)明控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器一種具體實(shí)施方式
原理圖;圖2是圖I所示的控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器的具體實(shí)施原理圖;圖3是圖I所示的基地址產(chǎn)生模塊dma_gen接口框圖;圖4是圖3所示的基地址產(chǎn)生模塊dma_gen時(shí)序圖;圖5是圖3所示的基地址產(chǎn)生模塊dma_gen的地址空間控制狀態(tài)轉(zhuǎn)換圖;圖6是圖I所示的讀寫(xiě)信號(hào)產(chǎn)生模塊ddr2_mpmc接口框圖;圖7是圖6所示的讀寫(xiě)信號(hào)產(chǎn)生模塊ddr2_mpmc時(shí)序分析圖;圖8是圖I所示的DDR2控制器控制信號(hào)產(chǎn)生模塊ddr2_cmd接口框圖;圖9是圖8所示的DDR2控制器控制信號(hào)產(chǎn)生模塊ddr2_cmd時(shí)序分析圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。在本實(shí)施例中,如圖1、2所示,本發(fā)明控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器在一片F(xiàn)PGA中實(shí)現(xiàn),外部存儲(chǔ)器為DDR2內(nèi)存條,包括四個(gè)子模塊,分別為DDR2控制器控制信號(hào)產(chǎn)生模塊ddr2_cmd、DDR2控制器模塊ddr2_sdram、讀寫(xiě)信號(hào)產(chǎn)生模塊ddr2_mpmc、基地址產(chǎn)生模塊dma_gen。其中,基地址產(chǎn)生模塊dma_gen功能為控制讀寫(xiě)圖像幀(參考圖像、深度圖像以及目標(biāo)圖像的起始地址等,統(tǒng)一管理整個(gè)外部存儲(chǔ)器DDR2的讀寫(xiě)地址。讀寫(xiě)信號(hào)產(chǎn)生子模塊ddr2_mpmc功能為接收輸入的參考圖像及其有效信號(hào)hdmi_rd_col_data[127:0]、hdmi_rd_col_en,深度圖像及其有效信號(hào) hdmi_rd_dep_data[127:0]、hdmi_rd_dep_en 以及算法產(chǎn)生的目標(biāo)圖像及其有效信號(hào)process_out data[127:0]、process_out_en (包括在讀寫(xiě)數(shù)據(jù)有效信號(hào)中),產(chǎn)生送入DDR2控制器控制信號(hào)產(chǎn)生模塊ddr2_cmd的寫(xiě)入數(shù)據(jù)mpmc_data_in[127:0],完成輸入DDR2控制器控制信號(hào)產(chǎn)生模塊ddr2_cmd的數(shù)據(jù)的統(tǒng)一和協(xié)調(diào),并且產(chǎn)生讀寫(xiě)數(shù)據(jù)效信號(hào)和控制信號(hào),即參考圖像寫(xiě)控制信號(hào)mpmC_wr_C0l_en、參考圖像讀控制信號(hào)mpmc_rd_col_en、深度圖像寫(xiě)控制信號(hào)mpmc_wr_dep_en、深度圖像讀控制信號(hào)mpmc_rd_dep_en、目標(biāo)圖像寫(xiě)控制信號(hào)mpmc_wr_pro_en、目標(biāo)圖像讀控制信號(hào)mpmc_rd_pro_en0 DDR2控制器控制信號(hào)產(chǎn)生模塊ddr2_cmd不直接接收外部數(shù)據(jù),主要是將讀寫(xiě)信號(hào)產(chǎn)生模塊ddr2_mpmc整合后的數(shù)據(jù)和控制信號(hào)與基地址產(chǎn)生模塊dma_gen輸出的地址信號(hào)進(jìn)行一一對(duì)應(yīng),輸出讀寫(xiě)DDR2的控制信號(hào)、數(shù)據(jù)信號(hào)、地址信號(hào)用于控制DDR2控制器模塊ddr2_sdram。在本實(shí)施例中,DDR2控制器模塊ddr2_sdram是由xilinx的MIG (MemoryInterface Generator,即內(nèi)存接口生成器生成的DDR2控制器,用來(lái)直接與DDR2進(jìn)行交互,直接調(diào)用即可,無(wú)需了解其內(nèi)部具體結(jié)構(gòu)。通過(guò)控制DDR2控制器模塊ddr2_sdram來(lái)控制DDR2的讀寫(xiě),避免了直接對(duì)DDR2進(jìn)行復(fù)雜的操作,從而簡(jiǎn)化設(shè)計(jì)。在圖I、2中,可以發(fā)現(xiàn)輸入接口單元送給多口內(nèi)存控制器mpmc的數(shù)據(jù)和從多口內(nèi)存控制器mpmc中輸出的數(shù)據(jù)均為128位。實(shí)際上,輸入系統(tǒng)的視頻流是30bit的RGB數(shù)據(jù),算法處理的也是30bit的RGB參考圖像數(shù)據(jù)和Sbit的深度圖像的數(shù)據(jù),而沒(méi)有128位的數(shù)據(jù)。128位的數(shù)據(jù)是為了與DDR的存儲(chǔ)特性相結(jié)合,DDR接收128位的數(shù)據(jù)進(jìn)行存儲(chǔ),·因此在數(shù)據(jù)進(jìn)入多口內(nèi)存控制器mpmc之前都進(jìn)行了串并轉(zhuǎn)換,將所有數(shù)據(jù)都組合成128位位寬。對(duì)于30bitRGB圖像數(shù)據(jù)在高位補(bǔ)兩位的‘0’變成32bit,然后將連續(xù)的四個(gè)32bit的RGB組合為一個(gè)128bit的并行數(shù)據(jù)。而深度數(shù)據(jù)則是直接將連續(xù)的16個(gè)8bit串行數(shù)據(jù)合并成一個(gè)128bit的并行數(shù)據(jù)。從多口內(nèi)存控制器mpmc輸出的數(shù)據(jù)則是進(jìn)行相反的處理,將128bit的讀出數(shù)據(jù)拆分成相應(yīng)的30bit或Sbit的數(shù)據(jù)。這樣就保證了讀入讀出多口內(nèi)存控制器mpmc的數(shù)據(jù)都是128bit,同時(shí)由于串并轉(zhuǎn)換使每個(gè)部分存取數(shù)據(jù)占用DDR總線的時(shí)間大大減少,從而保證數(shù)據(jù)存取速度。下面分子模塊對(duì)本發(fā)明控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器進(jìn)行詳細(xì)的介紹。I、基地址產(chǎn)生模塊dma_gendma_gen模塊為地址產(chǎn)生模塊,主要功能是在每個(gè)hdmi_de周期產(chǎn)生寫(xiě)數(shù)據(jù)的初始地址和讀數(shù)據(jù)的初始地址,接口框圖如圖3所示。表I是基地址產(chǎn)生模塊dma_genI/0端口列表.
¥1I方向I位寬I描述
rst—nInput I 復(fù)位信號(hào),低電平有效。
clk200Input 時(shí)鐘信號(hào),200Μ
hdmi deInput I de 信號(hào)
權(quán)利要求
1.一種控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器,其特征在于,包括基地址產(chǎn)生模塊、讀寫(xiě)信號(hào)產(chǎn)生模塊、外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊以及外部存儲(chǔ)控制器模塊;在普通DVD輸出第一幀,即第一幀參考圖像圖時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊接收來(lái)自輸入接口單元的第一幀參考圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊將接收第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一參考圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第一幀參考圖像發(fā) 送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第一幀參考圖像逐行存入外部存儲(chǔ)器中; 在普通DVD輸出第二、第三幀時(shí),基地址產(chǎn)生模塊輸出地址為O ; 在普通DVD輸出第四幀,即第一幀參考圖像對(duì)應(yīng)的深度圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器中第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊接收來(lái)自輸入接口單元的深度圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊將接收第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一深度圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第一幀參考圖像對(duì)應(yīng)的深度圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第一幀參考圖像對(duì)應(yīng)的深度圖像逐行存入外部存儲(chǔ)器中; 在普通DVD輸出第五幀,即第二幀參考圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器第二參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、第一參考圖像存儲(chǔ)區(qū)的讀起始地址、第一深度圖像存儲(chǔ)區(qū)的讀起始地址以及目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的第二幀參考圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后依次產(chǎn)生參考圖像讀控制信號(hào)、深度圖像讀控制信號(hào)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,最后接收來(lái)自DIBR算法模塊的目標(biāo)圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第二參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第二參考圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第二幀參考圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第二幀參考圖像存入外部存儲(chǔ)器中,然后,根據(jù)接收的第一參考圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第一參考圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第一幀參考圖像讀出,并發(fā)送給DIBR算法模塊,接著根據(jù)接收的第一深度圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第一深度圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第一幀參考圖像對(duì)應(yīng)的深度圖像讀出,并發(fā)送給DIBR算法模塊;最后,根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及自DIBR算法模塊的目標(biāo)圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將目標(biāo)圖像存入外部存儲(chǔ)器中; 在普通DVD輸出第六幀時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,讀寫(xiě)信號(hào)產(chǎn)生模塊產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示; 在普通DVD輸出第七幀時(shí),重復(fù)第五幀的第一幀參考圖像、第一幀參考圖像對(duì)應(yīng)深度圖像的讀取以及目標(biāo)圖像的存儲(chǔ); 在普通DVD輸出第八幀時(shí),即第二幀參考圖像對(duì)應(yīng)的深度圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器中第二深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的深度圖像并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后,產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第二深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第二深度圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第二幀參考圖像對(duì)應(yīng)的深度圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第二幀參考圖像對(duì)應(yīng)的深度圖像存入外部存儲(chǔ)器中,然后根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示; 在普通DVD輸出第九幀,即第三幀參考圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、第二參考圖像存儲(chǔ)區(qū)的讀起始地址、第二深度圖像存儲(chǔ)區(qū)的讀起始地址以及目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口單元的第三幀參考圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后依次產(chǎn)生參考圖像讀控制信號(hào)、深度圖像讀控制信號(hào)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,最后接收來(lái)自DIBR算法模塊的目標(biāo)圖像,并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第一參考圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一參考圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第三幀參考圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第三幀參考圖像存入外部存儲(chǔ)器中,然后,根據(jù)接收的第二參考圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第二參考圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第一幀參考圖像讀出,并發(fā)送給DIBR算法模塊,接著根據(jù)接收的第二深度圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生第二深度圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的第二幀參考圖像對(duì)應(yīng)的深度圖像讀出,并發(fā)送給DIBR算法模塊;最后,根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及來(lái)自DIBR算法模塊的目標(biāo)圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將目標(biāo)圖像存入外部存儲(chǔ)器中; 在普通DVD輸出第十幀時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,讀寫(xiě)信號(hào)產(chǎn)生模塊產(chǎn)生目標(biāo)圖像讀控制信·號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示; 在普通DVD輸出第十一幀時(shí),重復(fù)第九幀的第二幀參考圖像、第二幀參考圖像對(duì)應(yīng)深度圖像的讀取以及目標(biāo)圖像的存儲(chǔ); 在普通DVD輸出第十二幀時(shí),即第三幀參考圖像對(duì)應(yīng)的深度圖像時(shí),基地址產(chǎn)生模塊逐行輸出外部存儲(chǔ)器中第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址、目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;讀寫(xiě)信號(hào)產(chǎn)生模塊每一行,首先接收來(lái)自輸入接口 單元的深度圖像并作為寫(xiě)入數(shù)據(jù)輸出到外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊中,同時(shí)輸出寫(xiě)控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊,然后,產(chǎn)生目標(biāo)圖像讀控制信號(hào)給外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊;外部存儲(chǔ)控制器控制信號(hào)產(chǎn)生模塊在每一行,首先根據(jù)接收的第一深度圖像存儲(chǔ)區(qū)的寫(xiě)起始地址,產(chǎn)生第一深度圖像存儲(chǔ)區(qū)的寫(xiě)地址,并連同接收的寫(xiě)控制信號(hào)以及第三幀參考圖像對(duì)應(yīng)的深度圖像發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將第三幀參考圖像對(duì)應(yīng)的深度圖像存入外部存儲(chǔ)器中,然后根據(jù)接收的目標(biāo)圖像存儲(chǔ)區(qū)的讀起始地址,產(chǎn)生目標(biāo)圖像存儲(chǔ)區(qū)的讀地址,并發(fā)送給外部存儲(chǔ)控制器模塊,外部存儲(chǔ)控制器模塊將外部存儲(chǔ)器存儲(chǔ)的目標(biāo)圖像讀出,并發(fā)送給屏顯示模塊進(jìn)行顯示; 普通DVD輸出各幀重復(fù)第五到十二幀的處理方式,如此循環(huán)。
2.根據(jù)權(quán)利要求I所述的圖像存儲(chǔ)的多口內(nèi)存控制器,其特征在于,基地址產(chǎn)生模塊輸出的讀寫(xiě)起始地址采用基地址加偏移量的方式計(jì)算,偏移量根據(jù)外部存儲(chǔ)器每個(gè)地址的比特?cái)?shù)數(shù)、需要存儲(chǔ)的圖像數(shù)據(jù)比特?cái)?shù)確定,保證存儲(chǔ)一行圖像數(shù)據(jù)即可,基地址對(duì)應(yīng)相應(yīng)的圖像存儲(chǔ)區(qū),參考圖像、深度圖像讀寫(xiě)起始地址中的基地址在每遇到一個(gè)場(chǎng)同步的上升沿才換為另外一組地址。
全文摘要
本發(fā)明公開(kāi)了一種控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器,使用外部存儲(chǔ)器作為外部緩存的存儲(chǔ)機(jī)制,將DIBR算法所需參考圖像和深度圖像全部存儲(chǔ)到外部存儲(chǔ)器中,然后讀給DIBR算法模塊,保證了參考圖像和深度圖像同時(shí)輸送給DIBR算法模塊進(jìn)行處理。實(shí)驗(yàn)表明,本發(fā)明控制DIBR系統(tǒng)中圖像存儲(chǔ)的多口內(nèi)存控制器具有很好的可操作性,實(shí)現(xiàn)簡(jiǎn)單,可以大量縮減內(nèi)部存儲(chǔ)所消耗的資源。因而可以作為目前普通DVD視頻流實(shí)現(xiàn)DIBR技術(shù)的可行方案。
文檔編號(hào)G06T1/60GK102930501SQ201210384609
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年10月12日 優(yōu)先權(quán)日2012年10月12日
發(fā)明者劉然, 田逢春, 劉軍令, 巫英堅(jiān), 譚迎春, 譚偉敏, 李博樂(lè), 謝輝, 邰國(guó)欽, 黃揚(yáng)帆, 甘平, 葛亮, 陳恒鑫, 周慶, 葉蓮 申請(qǐng)人:四川虹微技術(shù)有限公司, 重慶大學(xué)