專利名稱:用于mpeg-2視頻解碼的sdram存儲結構的制作方法
技術領域:
本發明涉及一種SDRAM存儲機制,具體來說,涉及一種高數據吞吐率的用于MPEG-2視頻解碼的SDRAM存儲結構。
背景技術:
在實時的MPEG-2高清視頻解碼過程中,有大量的中間數據需要存取訪問,這些數據包括MPEG-2視頻碼流的寫入和讀出,更主要的是,在MPEG-2解碼過程中,解碼出圖像的所有像素值需要臨時保存,一方面用于運動補償運算中的參考圖像,另一方面也用以之后的播放顯示。這些數據的容量大,傳輸帶寬要求高,SRAM因其成本過高,不適于用在高清視頻解碼這種需要存儲龐大數據量的場合,SDRAM以其成本低、容量大的特點成為眾多高清視頻解碼器外部存儲器的選擇,但SDRAM控制復雜、讀寫開銷大的缺點往往使其應用時需要 較高的總線頻率,大大提高了高清視頻解碼芯片設計的難度以及芯片的功耗。為了提高SDRAM存儲系統的數據吞吐率,光靠提高系統的運行頻率是不可取的,這樣不僅會增加功耗、成本,當SDRAM的運行頻率較高后,一些時間參數消耗的無用周期所占比例相對也較大,造成資源浪費。所以,為使SDRAM存儲達到較高的數據吞吐率,需要結合SDRAM的工作特性以及視頻解碼中數據的存取特點,優化SDRAM的數據存儲方式、調度算法以及系統結構。在MPEG-2視頻解碼過程中,涉及數據存取的過程包括視頻碼流的讀寫、運動補償中參考幀宏塊像素值的讀取、顯示圖像時基于行像素值的讀取和新解碼幀的基于塊像素值的回寫等,在高清視頻實時解碼系統中,這些過程往往都是以流水線方式進行,因此對SDRAM的存儲操作也要考慮到與這些流水線操作的配合。另外,MPEG-2視頻解碼的時鐘與SDRAM的主時鐘往往不同,而這兩端之間的信號、數據的傳輸就涉及到異步時鐘的處理,在傳統的SDRAM存儲系統的設計中,并沒有考慮到各個訪問過程的流水線操作,而是一個訪問在上一訪問全部結束后才開始。
發明內容
針對以上的不足,本發明提供了一種用于MPEG-2視頻解碼的SDRAM存儲結構,根據這個SDRAM存儲結構設計出來的SDRAM存儲系統,一方面可配合MPEG-2視頻解碼的流水線操作,另一方面可在該存儲結構下進一步設計出優化的SDRAM調度算法,達到較高的數據吞吐率。本發明的用于MPEG-2視頻解碼的SDRAM存儲結構包括用于接收MPEG-2視頻解碼的各種請求信號,并將處理后的請求信號提交給狀態機控制以及命令解碼單元,同時平衡MPEG-2視頻解碼端與SDRAM控制端之間數據傳輸速度的訪問接口單元;接收由訪問接口單元處理過的各種請求信號,根據當前狀態按照一定的仲裁機制執行某個請求的操作,同時負責SDRAM控制系統狀態機的運作,并將各個操作轉換成控制SDRAM的相關命令信號的狀態機控制以及命令解碼單元;接收到MPEG-2解碼端傳來的邏輯地址后,將其按照一定的數據存儲方式轉換成控制SDRAM的相關物理地址的地址映射單元;對狀態機控制以及命令解碼單元的各種命令信號、數據信號以及地址映射單元的各種地址信號進行延遲、篩選處理,產生可直接輸出到SDRAM芯片的控制信號的SDRAM接口單元。各單元之間相互通信,將MPEG-2視頻解碼中的存取請求轉換成用以控制SDRAM芯片的命令信號、地址信號和數據信號。所述訪問接口單元包括視頻碼流寫接口單元、視頻碼流讀接口單元、參考宏塊讀接口單元、解碼塊寫接口單元和顯示行讀接口單元,每一接口單元分別包括異步時鐘處理單元和異步FIFO單元,異步時鐘處理單元對MPEG-2視頻解碼過程的對應的存儲訪問請求、訪問請求中的邏輯地址和異步FIFO中的讀地址以及寫地址的時鐘信號進行處理,異步FIFO單元采用異步FIFO機制處理這些異步時鐘數據。所述狀態機控制以及命令解碼單元分為請求仲裁單元、狀態機控制單元和命令解析單元三大部分,請求仲裁單元的請求仲裁處理采取優先級調度機制,按照視頻解碼中各 個訪問請求的重要性以及訪問的特性從高到低分配優先級,狀態機控制單元判斷到當前狀態為空閑狀態時,對多個請求進行仲裁,接收相對優先級最高的請求并進行相關的處理,命令解析單元根據每個請求的處理過程中的時序操作和狀態,生成輸出給SDRAM芯片的各命令信號。所述地址映射單元處理過程中的視頻解碼訪問中輸入的邏輯地址與控制SDRAM的物理地址之間的映射關系由視頻數據存儲在SDRAM中的組織方式決定。所述地址映射單元輸出的物理地址根據狀態機控制以及命令解碼單元輸出的各個狀態值,結合SDRAM地址的使用方法,隨著狀態的轉移不斷地更新。本發明的有益效果與其它的SDRAM控制技術相比,該SDRAM控制機制主要針對視頻圖像的儲存特點進行設計,無論在地址的控制上,還是在命令的控制上,都根據視頻數據的不同格式進行具體操作,對于視頻流數據的存取,該設計方法的吞吐量將比傳統的SDRAM控制方式的吞吐量提高數倍以上,特別是對于場景變化較多的視頻圖像,運用上面介紹的SDRAM儲存結構更能提高SDRAM的數據吞吐量。該結構從不同的訪問接口設計,靈活的狀態機控制方式以及巧妙的地址隱射方式入手,大大地提高了視頻圖像儲存時的數據吞吐量,這些優點都是傳統的SDRAM控制方式所無法實現的。
圖I為本發明的用于MPEG-2視頻解碼的SDRAM存儲結構示意圖;圖2為本發明的訪問接口單元的信號接口以及原理框架圖;圖3為本發明的狀態機控制以及命令解碼單元的信號接口以及原理框架圖;圖4為本發明的地址映射單元處理中邏輯地址與物理地址的映射關系圖;圖5為本發明的SDRAM存儲結構的處理流程圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清晰明白,以下結合附圖進一步說明本發明實施用于MPEG-2視頻解碼的SDRAM存儲結構。如圖I所示,本發明的用于MPEG-2視頻解碼的SDRAM存儲結構包括訪問接口單元、狀態機控制以及命令解碼單元、地址映射單元和SDRAM接口單元,訪問接口單元一方面接收MPEG-2視頻解碼的各種請求信號,并將處理后的請求信號提交給狀態機控制以及命令解碼單元,另一方面訪問接口單元還起著數據緩存的作用,平衡MPEG-2視頻解碼端與SDRAM控制端數據傳輸速度的不一致;狀態機控制以及命令解碼單元接收到由訪問接口單元處理過的各種請求信號后,因為這些請求有可能同時發生,需要經過一定的仲裁機制,根據當前狀態決定執行某個請求的相關操作,狀態機控制以及命令解碼單元還負責SDRAM控制系統狀態機的運作,并將各個操作轉換成控制SDRAM的相關命令信號;地址映射單元接收到MPEG-2解碼端傳來的邏輯地址后,將其按照一定的數據存儲方式,轉換成控制SDRAM的相關物理地址;SDRAM接口單元對狀態機控制以及命令解碼單元的各種命令信號、數據信號和地址映射單元的各種地址信號進行延遲、篩選等處理,然后產生可直接輸出到SDRAM芯片的控制信號。各單元之間相互通信,將MPEG-2視頻解碼中的存取請求轉換成用以控制SDRAM芯片的命令信號、地址信號和數據信號。圖2為訪問接口單元的信號接口以及原理框架圖,訪問接口單元具體包括視頻碼流寫接口單元、視頻碼流讀接口單元、參考宏塊讀接口單元、解碼塊寫接口單元和顯示行讀 接口單元,訪問接口單元的原理和功能實現基本相同,各接口單元關鍵是處理好各異步時鐘信號處理和內部異步FIFO的設計。本發明的每一接口單元包括異步時鐘處理單元和異步FIFO單元,其中,異步時鐘處理單元處理的異步時信號包括MPEG-2視頻解碼過程的各種存儲訪問請求、各種訪問請求中的邏輯地址和異步FIFO中的讀地址以及寫地址,因為各訪問請求中讀寫的數據較多,而視頻解碼端以及SDRAM端數據的讀寫時鐘不同,異步FIFO單元采用異步FIFO機制處理這些異步時鐘數據,例如,如果SDRAM的時鐘頻率較快,一般在IOOMHz以上,而MPEG-2視頻解碼的時鐘頻率一般為54MHz,在異步FIFO的處理機制下,往往SDRAM中的數據會先存進FIFO,而視頻解碼端需要相對較久的時間再把FIFO中的數據讀出,這樣一來,視頻解碼端讀數據時SDRAM控制器可處理下一個讀寫請求,這種處理機制正是實現多個訪問過程流水線存取的關鍵。圖3為狀態機控制以及命令解碼單元的信號接口以及原理框架圖,狀態機控制以及命令解碼單元為SDRAM控制系統的核心部分,狀態機控制以及命令解碼單元分為請求仲裁單元、狀態機控制單元和命令解析單元三大部分。其中,請求仲裁單元的請求仲裁處理采取優先級調度機制,按照視頻解碼中各個訪問請求的重要性以及訪問的特性(傳輸帶寬以及每次存取的數據量)從高到低分配優先級;由于SDRAM的控制過程較復雜,狀態機控制單元需要設計合理的狀態機來實現不同操作之間的先后調用以及銜接,代表這些操作的多個狀態包括空閑狀態、刷新狀態、預充電狀態以及針對不同訪問過程的讀寫狀態等,狀態機控制以及命令解碼單元判斷到當前狀態為空閑狀態時,對多個請求進行仲裁,接收相對優先級最高的請求并進行相關的處理;命令解析單元根據每個請求的處理過程中的時序操作和狀態,生成輸出給SDRAM芯片的各命令信號。圖4為地址映射單元處理中邏輯地址和物理地址的映射關系圖,地址映射單元的主要功能就是將當前視頻解碼訪問中輸入的邏輯地址轉換成可供SDRAM控制的物理地址,這兩種地址的映射關系是由視頻數據存儲在SDRAM中的組織方式決定的,好的組織方式會大大提高SDRAM存儲的數據吞吐率;另一方面,輸出的物理地址還會根據狀態機控制以及命令解碼單元輸出的各個狀態值,結合SDRAM地址的使用方法,隨著狀態的轉移不斷地更新。因為地址映射單元的各個輸出地址是針對各種訪問類型的,所以在SDRAM接口單元中會根據從狀態機控制以及命令解碼單元輸出的各種狀態,將這些地址進行選擇后組合成符合SDRAM地址格式的最終輸出地址,同樣,各個訪問接口單元的讀寫數據也因訪問過程的不同而歸為若干類,SDRAM接口單元需要將這些不同類別的各組數據根據狀態變化篩選出用于SDRAM輸入輸出數據接口的一組數據。圖5為基于所發明的SDRAM存儲結構的處理流程圖,在該SDRAM存儲結構下,各個處理單元互相配合,實現基于MPEG-2視頻解碼對SDRAM的各種控制。首先,需要嚴格按照SDRAM芯片的工作原理以及用戶的需求,對SDRAM進行相關的初始化處理,包括上電延時,對所有bank預充電,自動刷新,以及對模式寄存器進行賦值等步驟,這些處理基本在狀態機控制以及命令解碼單元中完成;當初始化完成進入空閑狀態后,先要判斷是否需要對SDRAM進行刷新,如果不用即可接收視頻解碼端發來的訪問請求,這些訪問請求包括視頻碼流寫、視頻碼流讀、參考宏塊讀、解碼塊寫和顯示行讀五類;經過仲裁選出優先級較高的請求后,就進行針對其中一類訪問請求的相關處理,這些處理一方面需要在各訪問接口單元進行數據緩存,一方面需要在狀態機控制以及命令解碼單元進行讀寫激活,讀寫操作以及 預充電等多個狀態的控制,并生成相應的SDRAM命令,另一方面還要在地址映射單元進行相關的地址映射以及更新;當完成某個訪問請求后再次回到空閑狀態,重復之前的處理。以上所述僅為本發明的較佳實施方式,本發明并不局限于上述實施方式,在實施過程中可能存在局部微小的結構改動,如果對本發明的各種改動或變型不脫離本發明的精神和范圍,且屬于本發明的權利要求和等同技術范圍之內,則本發明也意圖包含這些改動和變型。
權利要求
1.一種用于MPEG-2視頻解碼的SDRAM存儲結構,其特征在于,它包括 用于接收MPEG-2視頻解碼的各種請求信號,并將處理后的請求信號提交給狀態機控制以及命令解碼單元,同時平衡MPEG-2視頻解碼端與SDRAM控制端之間數據傳輸速度的訪問接口單元; 接收由訪問接口單元處理過的各種請求信號,根據當前狀態按照一定的仲裁機制執行某個請求的操作,同時負責SDRAM控制系統狀態機的運作,并將各個操作轉換成控制SDRAM的相關命令信號的狀態機控制以及命令解碼單元; 接收到MPEG-2解碼端傳來的邏輯地址后,將其按照一定的數據存儲方式轉換成控制SDRAM的相關物理地址的地址映射單元; 對狀態機控制以及命令解碼單元的各種命令信號、數據信號以及地址映射單元的各種地址信號進行延遲、篩選處理,產生可直接輸出到SDRAM芯片的控制信號的SDRAM接口單元, 各單元之間相互通信,將MPEG-2視頻解碼中的存取請求轉換成用以控制SDRAM芯片的命令信號、地址信號和數據信號。
2.根據權利要求I所述的用于MPEG-2視頻解碼的SDRAM存儲結構,其特征在于,所述訪問接口單元包括視頻碼流寫接口單元、視頻碼流讀接口單元、參考宏塊讀接口單元、解碼塊寫接口單元和顯示行讀接口單元,每一接口單元分別包括異步時鐘處理單元和異步FIFO單元,異步時鐘處理單元對MPEG-2視頻解碼過程的對應的存儲訪問請求、訪問請求中的邏輯地址和異步FIFO中的讀地址以及寫地址的時鐘信號進行處理,異步FIFO單元采用異步FIFO機制處理這些異步時鐘數據。
3.根據權利要求2所述的用于MPEG-2視頻解碼的SDRAM存儲結構,其特征在于,所述狀態機控制以及命令解碼單元分為請求仲裁單元、狀態機控制單元和命令解析單元三大部分,請求仲裁單元的請求仲裁處理采取優先級調度機制,按照視頻解碼中各個訪問請求的重要性以及訪問的特性從高到低分配優先級,狀態機控制單元判斷到當前狀態為空閑狀態時,對多個請求進行仲裁,接收相對優先級最高的請求并進行相關的處理,命令解析單元根據每個請求的處理過程中的時序操作和狀態,生成輸出給SDRAM芯片的各命令信號。
4.根據權利要求3所述的用于MPEG-2視頻解碼的SDRAM存儲結構,其特征在于,所述地址映射單元處理過程中的視頻解碼訪問中輸入的邏輯地址與控制SDRAM的物理地址之間的映射關系由視頻數據存儲在SDRAM中的組織方式決定。
5.根據權利要求4所述的用于MPEG-2視頻解碼的SDRAM存儲結構,其特征在于,所述地址映射單元輸出的物理地址根據狀態機控制以及命令解碼單元輸出的各個狀態值,結合SDRAM地址的使用方法,隨著。
全文摘要
本發明公開了一種高數據吞吐率的用于MPEG-2視頻解碼的SDRAM存儲結構,它包括用于接收MPEG-2視頻解碼的各種請求信號,并將處理后的請求信號提交給狀態機控制以及命令解碼單元,同時平衡MPEG-2視頻解碼端與SDRAM控制端之間數據傳輸速度的訪問接口單元;接收各種請求信號,根據當前狀態按照一定的仲裁機制執行某個請求的操作,同時負責SDRAM控制系統狀態機的運作,并將各個操作轉換成控制SDRAM的相關命令信號的狀態機控制以及命令解碼單元;接收到MPEG-2解碼端傳來的邏輯地址后,將其轉換成控制SDRAM的相關物理地址的地址映射單元;對各種命令信號、數據信號以及地址映射單元的各種地址信號進行延遲、篩選處理,產生可直接輸出到SDRAM芯片的控制信號的SDRAM接口單元。
文檔編號H04N7/26GK102833541SQ201210275758
公開日2012年12月19日 申請日期2012年8月3日 優先權日2012年8月3日
發明者譚洪舟, 徐永釗, 陸許明, 何列琦, 張全琪, 徐永鍵 申請人:東莞中山大學研究院