亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于avs的視頻硬件解碼器的存儲空間地址映射方法

文檔序號:7954146閱讀:232來源:國知局
專利名稱:基于avs的視頻硬件解碼器的存儲空間地址映射方法
技術領域
本發(fā)明涉及一種數字視頻編解碼技術領域的方法,具體是一種基于AVS(數字音視頻編解碼技術標準)的視頻硬件解碼器的存儲空間地址映射方法。
背景技術
AVS是由中國數字音視頻編解碼技術標準工作組(AVS工作組)牽頭創(chuàng)制的音視頻信源編碼標準,是數字電視、寬帶網絡流媒體、移動多媒體通信、激光視盤等數字音視頻產業(yè)群的共性基礎標準。它的視頻部分于2006年2月22日被頒布為中華人民共和國國家標準,標準號GB/T 20090.2-2006,于2006年3月1日起實施。
在AVS視頻硬件解碼器的設計與實現中,存儲器的讀寫效率是制約系統(tǒng)性能的重要因素之一。根據ATSC(先進電視制式委員會)標準的規(guī)定,高清晰度電視(HDTV)的最大分辨率是1920像素×1080像素,寬高比為16∶9。為了播放高清晰度的視頻,必須用快速高效的方法處理如此大的圖像尺寸,在有限的時間內從存儲器讀出所需的數據或把數據寫入存儲器。
采用DDR SDRAM(雙倍數據速率的同步動態(tài)隨機訪問存儲器)作為存儲器的方案逐漸興起,在把圖像映射到存儲器地址空間時必須適應它的時序特性,減少數據讀出或寫入時額外花費的時間。為了減少額外時間,需要盡量使連續(xù)訪問的數據存放在同一bank、同一行中,實在需要切換bank或切換行時,盡量使相繼訪問數據存儲在不同的bank中。另外,DDR SDRAM廣泛采用猝發(fā)讀/寫的方式來提高效率。猝發(fā)讀/寫是指在發(fā)送一次列地址后,默認讀寫“猝發(fā)長度”個數據。在猝發(fā)讀寫的過程中,列地址自動遞增。猝發(fā)長度可以是2、4或8。
AVS視頻標準里最基本的解碼單位是8×8的塊。在AVS視頻硬件解碼系統(tǒng)中,訪問存儲器的有運動補償模塊、環(huán)路濾波模塊和顯示模塊。運動補償模塊對存儲器進行讀操作,每次讀取一個大小、位置均不固定的矩形塊的像素數據;環(huán)路濾波模塊向存儲器進行寫操作,每次固定寫8×8的像素數據;顯示模塊對存儲器進行讀操作,一般每次讀取圖像的一行。隨著解碼過程的進行,存儲器的不同地址區(qū)域不斷變換功能。因此只能采用一種存儲器地址映射方式。于是,存在這樣的困難視頻系統(tǒng)中訪問DDR SDRAM的三大模塊的讀寫要求各不相同,存儲器地址映射的方法卻只能選擇一種。
經對現有技術文獻的檢索發(fā)現,Hansoo Kim等人在IEEE Transaction oncircuits and system for video technology,Vol.11,No.11,November 2001(IEEE的視頻技術的電路和系統(tǒng)學報)上所發(fā)表的“High Performance and LowPower Memory Interface Architecture for Video Processing Applications”(視頻處理應用中的高性能,低功耗存儲界面結構)中,涉及到一種MPEG2視頻標準的地址映射方法,它的特點在于,使用固定的16*8的矩形映射單位,然后動態(tài)地把矩形映射單位分配給存儲器不同的bank。它針對MPEG2視頻而設計,因為MPEG2的宏塊劃分只有16*16和16*8,所以選取16*8的固定矩形映射單位。它的缺點在于1、它致力于在需要切換bank或切換行的時候把連續(xù)訪問數據存儲在不同的bank中,但是沒有考慮運動補償模塊讀參考塊的范圍特點,即不是首先考慮把運動補償需要讀取的參考塊放在同一行同一bank中。2、較窄的映射單位(寬度僅為16)使得顯示模塊在讀圖像的行時不能使用較長的猝發(fā)長度。3、動態(tài)地把矩形映射單位分配給不同的bank需要一個復雜的選擇-判決機構,而不是使用一個簡單而且固定的公式來映射,不利于硬件實現。

發(fā)明內容
本發(fā)明要解決的技術問題是克服上述困難,提供一種基于AVS的視頻硬件解碼器的存儲空間地址映射方法,它以一種按矩形折疊的地址映射方法把AVS視頻圖像映射到DDR SDRAM的存儲空間。本發(fā)明包括亮度分量映射和色度分量映射兩方面,適用于各種大小的圖像,同時支持4:2:0和4:2:2的色度格式,幀方式和場方式分別映射,亮度和色度像素采用相同的簡潔的映射公式,利于硬件實現。通過選取合適的矩形大小,能夠兼顧運動補償模塊、環(huán)路濾波模塊和顯示模塊的不同需求特點,有效減少DDR SDRAM的ACTIVE命令的數目,充分利用猝發(fā)讀寫的優(yōu)勢,提高了DDR SDRAM的效率。
本發(fā)明是通過以下技術方案實現的首先設定每個地址涉及的數據寬度,把圖像劃分成多個A矩形,如果是場方式還要進一步把A矩形劃分成偶塊和奇塊,即步驟(a)-(c);然后對亮度地址映射采用步驟(d),對色度地址映射采用步驟(e)-(f);最后得出DDR SDRAM的地址坐標換算公式,即步驟(g)。下文提到的坐標/像素如不加特別說明,均指亮度坐標/像素。
(a)設定每個地址涉及的數據寬度;(b)選取合適的矩形尺寸,把圖像劃分成多個A矩形;(c)場方式下把A矩形劃分成偶塊和奇塊,幀方式下則不劃分;(d)為每個A矩形內的亮度像素分配地址;(e)把色度像素的坐標用圖像的亮度像素坐標來表示;(f)為每個A矩形內的色度像素分配地址;(g)得出DDR SDRAM的地址坐標換算公式。
以下對各個步驟進行進一步的說明(a)設定每個地址涉及的數據寬度使DDR SDRAM的端口寬度為D比特,D是2的整數冪。這D比特的寬度也可以是由若干塊DDR SDRAM并聯而成。例如可以將2片端口寬度分別為D/2比特的DDR SDRAM并聯。每個像素需要8比特的存儲空間,從而每個地址可以存儲(D/8)個像素。在雙倍數據速率下,每一個時鐘周期可以讀出或寫入2個地址(2×D比特)的數據。即每個時鐘周期可以從DDR SDRAM中讀出(D/4)個像素。
(b)選取合適的矩形尺寸,把圖像劃分成多個A矩形將W×H的圖像范圍劃分成(W/s)×(H/t)個A矩形,A矩形的大小為s×t。一般地,s選取為D的2的整數冪倍,可以使顯示模塊以猝發(fā)讀的方式送一次地址就讀取到較寬的一行圖像。t可以選擇和s相同或是s的2倍,使得A矩形是一個正方形或A矩形內的每個場是一個正方形,從而運動補償模塊讀取的參考塊有較大的可能性落在一個A塊內部。s和t必須是8的整數倍,便于環(huán)路濾波模塊每次寫入一個8×8塊。當今主流的DDR SDRAM有4個bank,選擇s和t盡量使得一個A矩形剛好占用了DDR SDRAM的一行,2個bank,能保證相繼讀取的數據屬于不同的bank。
(c)場方式下把A矩形劃分成偶塊和奇塊,幀方式下則不劃分如果是場方式,把A矩形劃分成偶塊和奇塊,偶塊的大小是s×(t/2),由偶數行組成;奇塊的大小也是s×(t/2),由奇數行組成。行的計數從零開始。對于亮度像素和4:2:2色度格式下的色度像素,偶數行的像素在偶塊中,奇數行的像素在奇塊中;而4:2:0色度格式下所有色度像素都在偶塊中,奇塊空置。如果是幀方式,不進行分塊,4:2:0色度格式下所有色度像素都在偶行中,奇行空置。
(d)為每個A矩形內的亮度像素分配地址在一個A矩形內部,如果是幀方式,按從左到右、從上到下的順序給亮度像素分配地址,一個A矩形占用 個地址;如果是場方式,先將偶塊按從左到右、從上到下的順序給亮度像素分配地址,分配了 個地址,再將奇塊按從左到右、從上到下的順序繼續(xù)給亮度像素分配地址,又分配了 個地址。從左到右、從上到下地給全部的(W/s)×(H/t)個A矩形按上述方法分配地址。
(e)把色度像素的坐標用圖像的亮度像素坐標來表示用亮度像素的坐標來表示色度像素的位置。即對于4:2:2的色度格式,色度橫坐標乘以2,縱坐標不變;對于4:2:0的色度格式,色度橫坐標和縱坐標均乘以2。色度包括Cb和Cr兩個分量,存放在相鄰的兩個亮度橫坐標的位置上。4:2:0色度格式下,奇數行不存放實際的像素。
(f)為每個A矩形內的色度像素分配地址在一個A矩形內部,如果是幀方式,按從左到右、從上到下的順序給色度像素分配地址,一個A矩形占用 個地址;如果是場方式,先將偶塊按從左到右、從上到下的順序給色度像素分配地址,分配了 個地址,再將奇塊按從左到右、從上到下的順序繼續(xù)給色度像素分配地址,又分配了 個地址。從左到右、從上到下地給全部的(W/s)×(H/t)個A矩形分配地址。4:2:0色度格式下有一半的地址是空置的。
(g)得出DDR SDRAM的地址坐標換算公式DDR SDRAM由若干個bank組成,每個bank中又分列地址(Col)和行地址(Row)。對應的DDR SDRAM的地址Addr按{Row,Bank,Col}構成。其中Bank對應于DDR SDRAM的BA管腳;Row和Col對應于A管腳,且Row和Col是復用的。
(1)如果是幀方式亮度和色度的映射公式是相同的,如下式Addr=[(y/t)×Ws+(x/s)]×(s×tD/8)]]>+(y%t)×tD/8]]>+(x%s)×1D/8]]>(2)如果是場方式亮度和色度的映射公式是相同的,如下式Addr=[(y/t)×Ws+(x/s)]×(s×tD/8)]]>+(y%2)×s×(t/2)D/8]]>+[(y%t)/2]×tD/8]]>+(x%s)×1D/8]]>(3)最后為亮度和色度分別加上一個基地址,映射到存儲器的不同地址區(qū)域,完成地址映射。
LumaAddr=BaseAddr1+AddrChromaAddr=BaseAddr2+Addr
上述坐標都是亮度坐標。因為一個地址可以放置D/8個像素,映射公式中的x須是D/8的整數倍。
步驟(a)到(g)表述的按矩形折疊的地址映射方法,它的優(yōu)點是(1)每次運動補償模塊讀取的參考塊有很大的可能性落在一個A矩形的內部,而且這個A矩形恰好存放在DDR SDRAM的一行中,不需要切換行的ACTIVE操作。即使參考塊跨越A矩形的邊界,也能夠保證相繼讀取的數據屬于不同的bank。運動補償讀取參考塊是存儲器接口總線上數據吞吐量最大的操作,有效地減少非讀寫操作的延遲對于提高DDR SDRAM讀取效率有至關重要的意義。
(2)每次環(huán)路濾波模塊向DDR SDRAM寫一個8×8的塊都不需要切換行或bank,即不需要發(fā)ACTIVE命令。
(3)每次顯示模塊從DDR SDRAM可以讀出長度至少為s的一行圖像像素并且不需要發(fā)ACTIVE命令。并且可以把猝發(fā)讀的長度設為8,連續(xù)地讀出數據。
(4)在幀方式下對一個A矩形進行連續(xù)的映射,在場方式下先映射偶塊,再映射奇塊,即偶塊的地址是連續(xù)的,奇塊的地址也是連續(xù)的,適應場方式下的讀寫操作。
(5)色度地址映射方法同時支持4:2:0和4:2:2,色度和亮度能夠采用相同的簡潔的地址映射公式。
由上可知,本發(fā)明所述的一種基于AVS的高清晰度視頻硬件解碼器的存儲空間地址映射方法,包括亮度分量映射和色度分量映射,適用于各種大小的圖像,同時支持4:2:0和4:2:2的色度格式,幀方式和場方式分別映射,亮度和色度像素采用相同的簡潔的映射公式,利于硬件實現。通過選取合適的矩形大小,能夠兼顧運動補償模塊、環(huán)路濾波模塊和顯示模塊的不同需求特點,有效減少ACTIVE命令的數目,充分利用猝發(fā)讀寫的優(yōu)勢,提高了DDR SDRAM的效率。
特別地,本發(fā)明與前文中所提到的Hansoo Kim等人提出的方法進行比較,可以得到如下的對比結果(1)從運動補償讀參考塊時所需的ACTIVE命令數目來說,Hansoo Kim等人的方法沒有考慮運動補償模塊讀參考塊的范圍特點,如果應用于AVS,只有參考塊的高度為8,且參考塊起始點縱坐標恰好落在8的整數倍位置時,參考塊才會在同一行、同一bank中,這個概率僅為3%。本發(fā)明特別針對運動補償需要讀取的參考塊大小不定、位置不定的特點,把需要讀取的參考塊盡可能放在同一行的同一bank中以減少ACTIVE命令的數目。實施例中,運動補償參考塊在同一行、同一bank的概率為56%,從而運動補償模塊的讀操作可以比按Hansoo Kim等人提出的方法減少53%的ACTIVE命令數目。(2)從可利用的猝發(fā)讀長度來說,Hansoo Kim等人的方法只考慮塊讀寫,沒有考慮顯示模塊的行讀寫,讀取圖像的一行時不能用猝發(fā)讀的方式;而本發(fā)明中設計的A矩形比較寬,可以使顯示模塊每次以最長的猝發(fā)讀長度高效地讀取圖像的行。(3)從硬件實現的復雜度來說,Hansoo Kim等人的方法需要循環(huán)搜索最合適的窗大小來分配bank,不利于硬件實現;本發(fā)明提出的方法僅僅使用一個簡單的映射公式,很容易實現。(4)另外,本發(fā)明分別考慮幀方式和場方式,在幀方式下對A矩形內的每一行連續(xù)分配地址,在場方式下先對A矩形的奇行分配地址,再對A矩形的偶行分配地址,有利于在兩種情況下都獲得較高的讀寫效率。
綜上所述,本發(fā)明在提高存儲器讀取效率和減小硬件實現復雜度上,都是具有優(yōu)勢的。


圖1是DDR SDRAM的地址結構示意圖;圖2是把視頻圖像劃分成多個A矩形的示意圖;圖3是場方式情況下把A矩形劃分成偶塊和奇塊的示意圖;圖4是A矩形在幀方式和場方式下的不同映射順序的示意圖;圖5是4:2:2和4:2:0色度格式下的色度像素在A矩形中的布局示意圖;圖6是亮度分量和色度分量映射到不同地址區(qū)域的示意圖;圖7是實施例中A矩形剛好占用DDR SDRAM1行,2個bank的示意圖;圖8是實施例中參考塊的6類可能的位置示意圖。
具體實施例方式
本發(fā)明提出的映射方法適用于各種大小的圖像尺寸,結合本發(fā)明技術方案以及附圖提供以下實施例采用MicronTM公司的MT46V8M16芯片,它的規(guī)格是2兆×16×4Banks,兩片該芯片并聯,從而D=32,每個地址可以存放4個亮度像素。令Row,Bank,Col分別表示DDR SDRAM的行坐標,bank序號和列坐標。Row的范圍是0-4095,Bank的范圍是0-3,Col的范圍是0-511。DDR SDRAM的布局見附圖1。
圖像的尺寸為W=1920,H=1088。設x和y分別為圖像的亮度橫坐標和縱坐標。x的范圍是0-1919,共11比特;y的范圍是0-1087,也是11比特。
選取s=64,t=64。如附圖2所示,把圖像劃分成30×17個A矩形,每個A矩形的大小為64×64。
如果是場方式,把A矩形分成偶塊和奇塊,偶塊由第0,2,4,6,8,…,60,62行構成,奇塊由第1,3,5,7,9,…,61,63行構成,如附圖3所示。
在一個A矩形內部,如附圖4所示,如果是幀方式,從左到右依次給每一行中的像素分配地址,從上到下依次給每一行分配地址;如果是場方式,先給偶塊分配地址,再給奇塊分配地址。附圖4中方括號中的數字表明了每一行的映射次序。
色度像素的地址映射和亮度像素是相同的,見附圖5,色度的Cb和Cr分量存放在相鄰的兩個亮度橫坐標的位置上;4:2:2色度格式下色度和亮度的數據量相同,4:2:0色度格式下,奇數行不存放實際的像素。
用該按矩形折疊的地址映射方法計算出來的地址是幀方式Addr=[(y/64)×192064+(x/64)]×(64×6432/8)]]>+(y%64)×6432/8]]>+(x%64)×132/8]]>場方式
Addr=[(y/64)×192064+(x/64)]×(64×6432/8)]]>+(y%2)×64×(64/2)32/8]]>+[(y%64)/2]×6432/8]]>+(x%64)×132/8]]>化簡后,可以得到對應的DDR SDRAM的地址構成公式是幀方式Row=y[10:6]×15+x[10:7]Bank=x[6]×2+y[5]Col=y[4:0]×16+x[5:2]]]>場方式Row=y[10:6]×15+x[10:7]Bank=x[6]×2+y
Col=y[5:1]×16+x[5:2]]]>最后,把亮度和色度映射到不同的地址空間,是通過加上一個不同的基地址來實現的,見附圖6??梢杂嬎愠?,由于y最大為1087,y[10∶6]最大為16,由于x最大為1919,x[10∶7]最大為14,Row最大占用8比特。所以可以用Row[11∶8]作為基地址。
本實施例中,由于每個存儲器地址可以存放4個亮度像素,要求x是4的整數倍。本實施例中的A矩形恰好占用DDR SDRAM的1行、2個bank,參見附圖7,陰影部分恰好放置一個A矩形。在運動補償時,參考塊在圖像中的位置如附圖8所示,共6類。其中第1類就是落在同一行、同一bank中。8×8的亮度塊做運動補償需要讀取的平均亮度塊大小為10.5×10.5,于是第1類位置的概率為(64-10.5)×(32-10.5)64×32=56%,]]>讀取第1類位置的參考塊不需要DDR SDRAM的ACTIVE命令。第2、3、4類位置需要一次ACTIVE命令,第5、6類位置需要三次ACTIVE命令,但是相繼讀取的數據都在不同的bank中,即ACTIVE命令可以在前一個bank正在被訪問的同時發(fā)出,在時間上重疊。
權利要求
1.一種基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征在于,包括如下步驟(a)設定每個地址涉及的數據寬度;(b)選取合適的矩形尺寸,把圖像劃分成多個A矩形;(c)場方式下把A矩形劃分成偶塊和奇塊,幀方式下則不劃分;(d)為每個A矩形內的亮度像素分配地址;(e)把色度像素的坐標用圖像的亮度像素坐標來表示;(f)為每個A矩形內的色度像素分配地址;(g)得出DDR SDRAM的地址坐標換算公式。
2.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(a)中,DDR SDRAM的端口寬度為D比特,D是2的整數冪,可能由若干塊DDR SDRAM并聯而成,從而每個地址能存儲D/8個像素。
3.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(b)中,將W×H的圖像范圍劃分成(W/s)×(H/t)個A矩形,A矩形的大小為s×t,其中寬度s是D的整數倍,高度t和s相同或是s的2倍,另外s和t都須是8的整數倍。
4.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(c)中,如果是場方式,把A矩形劃分成偶塊和奇塊,偶塊和奇塊分別由偶數行和奇數行構成,如果是幀方式則不進行劃分。
5.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(d)中,在一個A矩形內部,如果是幀方式,按從左到右、從上到下的順序給亮度像素分配地址,如果是場方式,先給偶塊分配地址,再給奇塊分配地址;用該方法從左到右、從上到下地給全部的(W/s)×(H/t)個亮度A矩形分配地址。
6.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(e)中,用亮度分量的坐標來表示色度像素的位置,4:2:2格式下的色度橫坐標乘以2,縱坐標不變,4:2:0格式下的色度橫坐標和縱坐標均乘以2;色度包括的Cb和Cr兩個分量存放在相鄰的兩個亮度橫坐標的位置上。
7.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(f)中,在一個A矩形內部,如果是幀方式,按從左到右、從上到下的順序給色度像素分配地址,如果是場方式,先給偶塊分配地址,再給奇塊分配地址;用該方法從左到右、從上到下地給全部的(W/s)×(H/t)個色度A矩形分配地址。
8.如權利要求1所述的基于AVS的視頻硬件解碼器的存儲空間地址映射方法,其特征是,在步驟(g)中,DDR SDRAM的地址Addr按{Row,Bank,Col}構成,在幀方式下Addr=[(y/t)×Ws+(x/s)]×(s×tD/8)]]>+(y%t)×tD/8,]]>+(x%s)×1D/8]]>在場方式下Addr=[(y/t)×Ws+(x/s)]×(s×tD/8)]]>+(y%2)×s×(t/2)D/8,]]>+[(y%t)/2]×tD/8]]>+(x%s)×1D/8]]>最后亮度分量和色度分量在存儲器中的物理地址將分別加上一個不同的基地址。
全文摘要
一種數字視頻編解碼技術領域的基于AVS的視頻硬件解碼器的存儲空間地址映射方法。是一種按矩形折疊的地址映射方法,步驟為首先設定每個地址涉及的數據寬度,把圖像劃分成多個A矩形,如果是場方式還要把A矩形劃分成偶塊和奇塊;然后分別對亮度和色度進行地址映射,幀方式下逐行映射,場方式下先映射偶塊再映射奇塊;最后得出存儲地址坐標換算公式。本發(fā)明適用于各種大小的圖像,同時支持4∶2∶0和4∶2∶2色度格式,利于硬件實現。它兼顧運動補償模塊、去塊效應模塊和顯示模塊的不同讀寫特點,通過減少ACTIVE命令數和充分利用猝發(fā)讀寫提高了DDR SDRAM的效率。本發(fā)明可以廣泛應用在基于塊的視頻解碼硬件系統(tǒng)中。
文檔編號H04N9/64GK1874511SQ200610028320
公開日2006年12月6日 申請日期2006年6月29日 優(yōu)先權日2006年6月29日
發(fā)明者陸泳, 劉佩林 申請人:上海交通大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1