專利名稱:寬帶網中一種視頻節(jié)目存儲及點播的裝置和方法
技術領域:
本發(fā)明涉及一種視頻節(jié)目存儲及點播方法(下面簡稱為IPHD),本發(fā)明尤其涉及用在寬帶網或局域網中的視頻節(jié)目存儲及點播方法。
隨著網絡技術的發(fā)展,網絡正向著寬帶化方向轉變。其中,視頻點播VOD(Video on Demand)正日益成為寬帶網中一項重要業(yè)務。目前,視頻點播中的視頻數據存儲是通過網絡中由視頻服務器控制下的RAID(Redundant Arrayof Inexpensive Disk)設備來實現,但是這種方法成本很高,給VOD業(yè)務量的擴大帶來不利因素。所以,需要一種簡捷、廉價的視頻節(jié)目存儲及點播方法。
本發(fā)明的目的在于針對上述問題,提供一種不需要視頻服務器的新的視頻節(jié)目存儲及點播方法,以其成本低和連接方便的優(yōu)點,促進VOD業(yè)務的擴大和發(fā)展。
根據本發(fā)明的一個方面,提供了一種寬帶網中視頻節(jié)目的存儲和點播裝置,它包含硬盤,用于存儲和播放視頻節(jié)目的數據流,視頻數據按照幀的格式存儲;緩存器,與控制器連接,用于對硬盤的讀寫數據和接收或發(fā)送的網絡命令提供緩存;網絡接口,與控制器連接,用于提供IPHD與外部網絡的數據和命令交互通道;控制器,與所述硬盤、緩存器和網絡接口連接,所述控制器具有以下功能控制所述硬盤,包括格式化硬盤、自檢、讀寫操作以及簡單的文件系統;控制所述緩存器,包含數據管理以及存儲空間管理;控制網絡接口,并進行視頻數據或命令包的打包與解包。
根據本發(fā)明的另一個方面,提供了一種直接通過硬盤存取視頻信息的寬帶網或局域網中視頻節(jié)目的存儲及點播方法,其中,當由用戶從所述硬盤上點播所述視頻節(jié)目時,包含以下步驟a將來自所述用戶的,包含點播命令的命令包通過所述網絡接口傳送到所述控制器;b所述控制器將所述命令包解包,解出命令幀,并送入所述緩存器緩存,等待所述控制器的處理;c如果所述控制器空閑,所述控制器從所述緩存器中讀出所述命令幀,并根據所述點播命令幀,從所述硬盤讀出點播的視頻節(jié)目的數據幀,并將所述視頻節(jié)目數據幀緩存在所述緩存器中;d所述控制器讀取所述緩存器上緩存的所述視頻節(jié)目數據幀打包,并通過所述網絡接口發(fā)送到所述用戶;e在節(jié)目播放過程中,所述用戶可以通過命令包進行快進、快倒、暫停和停止等操作;f當所述控制器檢查到所述節(jié)目播放完畢時,發(fā)送節(jié)目播放完畢命令給所述用戶。當用戶要將視頻節(jié)目存儲到IPHD上時,包含以下步驟a’將來自所述用戶的,包含存儲命令幀的命令包通過網絡接口傳送到控制器;b’所述控制器將所述命令包解包,解出所述命令幀,并將所述命令幀送入所述緩存器緩存,等待所述控制器的處理;c’如果所述控制器空閑,所述控制器處理所述存儲命令,如果所述用戶存儲要求可以接受,所述控制器通過所述網絡接口發(fā)送存儲接受命令給所述用戶;d’所述用戶收到所述IPHD的所述存儲接受命令后,將視頻數據幀打包發(fā)給所述IPHD;e’所述IPHD將所述用戶需要存儲的視頻節(jié)目數據幀通過網絡接口傳送到控制器;f’所述控制器將所述數據包解包,解出所述數據幀,并將所述數據幀送入所述緩存器緩存,等待寫入所述硬盤;g’當所述緩存器中緩存的視頻數據幀到達一定的數量,在所述控制器的控制下把所述視頻數據幀寫入硬盤;h’重復e’-g’,直至節(jié)目存儲完畢,所述用戶發(fā)節(jié)目輸入結束命令給所述IPHD;i’所述IPHD的控制器設置節(jié)目標識。
通過上述的裝置和方法,采用簡捷的對硬盤直接存儲的結構,因而成本低廉;并且,由于可以在寬帶網或局域網帶100M接口的任意節(jié)點接入,所以連接方便而靈活。
下面,參照附圖,對本發(fā)明的較佳實施例進行描述。
圖1是根據本發(fā)明的一個實施例的IPHD存儲及點播方法示意圖。
圖2是本發(fā)明的一個實施例中,數據從硬盤到緩存器的過程。
圖3是本發(fā)明的一個實施例中,數據從網絡到硬盤的過程。
圖4是本發(fā)明的一個實施例中,數據/命令從緩存器到網絡的過程。
如圖1所示,根據本發(fā)明的較佳實施例用于以太網的視頻節(jié)目存儲及點播方法使用的裝置包含以太網絡接口13、緩存器12、硬盤11,以及分別與網絡接口13、緩存器12和硬盤11連接的控制器14。
其中,硬盤11是存儲視頻信息的載體,為大容量硬盤(Hard disk)。在本實施例中,采用30G bytes的硬盤,從而,一套如圖1所示的裝置可以存儲相當于10部電影的視頻數據,并且可供多個用戶同時操作。
網絡接口13用于提供IPHD與外部網絡進行數據或命令交互的通道,本實施例中,采用傳輸速率為100Mbps的以太網網絡接口,從而使IPHD既能與磁盤的讀寫速度相適應,也可以直接與標準以太網100Mbps接口連接。
緩存器12主要用于對硬盤11的讀寫數據和接收的網絡命令提供緩存。如表1所示,緩存器12的空間采用靜態(tài)分配的方式以降低系統的復雜度。
表1
在表1中,假設IPHD可以支持n個用戶同時點播。表1中的用戶數據區(qū)用于存儲從硬盤11讀出的,對應于用戶點播的視頻節(jié)目的視頻數據。從網絡接收的數據緩存區(qū)用于存儲要寫入硬盤11的視頻節(jié)目數據。發(fā)往網絡的命令緩存區(qū)和從網絡接收的命令緩存區(qū)分別存儲由網絡接口13發(fā)往網絡和從網絡接收的命令。在本實施例中,上述緩存器12的作用是實現多用戶同時讀寫、減少硬盤11磁頭頻繁移動,以及提高硬盤11的讀寫速度,此外還使硬盤11的讀寫速度和網絡的傳輸速率相適應。
控制器14主要用于控制IPHD實施視頻節(jié)目的存儲和播放,它對由網絡發(fā)來的MAC包(命令或數據)進行識別和處理,控制硬盤11、網絡接口13、緩存器12的操作,使之執(zhí)行各自的功能。本實施例中的控制器采用DSP+FPGA,結合了DSP的高速處理特性和FPGA靈活性,主控CPU為DSP控制器14在本發(fā)明中是主要部分,它具體包含以下功能1)對硬盤11的控制,包括硬盤11的格式化、自檢、讀寫操作的控制及文件系統,讀寫操作采用UDMA(ultra direct memory access)方式,不但可以提高數據傳輸速率,還可以減少主控CPU的資源占用,FPGA中完成UDMA控制器的功能;文件系統提供對視頻數據及硬盤11空間的管理。
2)對緩存器12的管理,包括數據管理及緩存器存儲空間管理,決定視頻數據的存儲位置以及數據屬于那個用戶,管理工作主要由主控CPU完成,對緩存器的操作由FPGA完成。
3)打包與解包、數據包與命令包的區(qū)分,這部分功能在FPGA內實現。
4)對網絡接口13的控制,這部分功能在FPGA內實現。
5)協議部分,這是系統的核心,它決定了進行什么樣的操作,協議處理由主控CPU完成。
下面以控制器14對磁盤的讀寫操作的控制以及對由緩存器12將數據/命令傳送至網絡為例,對本發(fā)明給予進一步的說明。
以讀寫硬盤11操作過程為例圖2示出數據從硬盤到緩存器的過程,在步驟S21由主控CPU判斷緩存器相應用戶空間是否足夠一次讀取硬盤操作,如果夠,進到步驟S22,主控CPU向硬盤發(fā)出讀指令,通過FPGA中的UDMA控制器讀出該用戶數據,并送到緩存器該用戶數據區(qū),然后到達步驟S23尋找其它用戶,并重復上述步驟S21-S23的操作;如果在步驟S21判斷緩存器相應用戶空間不足以讀取硬盤操作,則進到步驟S23以尋找下一個用戶,并返回步驟S21再做上述判斷。
圖3示出數據從網絡到硬盤的過程控制器在步驟S31從網絡接口接收以太網幀,并在步驟S32進行解包,然后進到步驟S33根據幀頭所帶的標志進行數據幀/命令幀的判斷,若為命令幀,則在步驟S34寫入命令緩存區(qū)等待處理,若為數據幀,在步驟S35寫入從網絡接收的數據緩存區(qū),然后進到步驟S36,由控制器更新緩存區(qū)的寫地址,然后,在步驟S37判斷緩存器內的數據是否足夠一次寫硬盤操作,如果不夠,則返回步驟31,如果夠,則進到步驟S38由控制器向硬盤發(fā)出寫命令,通過FPGA中的UDMA控制器把這一批數據寫入硬盤,并且在此次寫硬盤操作結束后,控制器更新讀緩存器地址,并重復上述過程。其中步驟S31、S32、S33、S34和S35可直接由FPGA完成,不需要主控CPU的直接參與,主控CPU只需提供寫緩存器的地址即可;步驟S36、S37和S38主要由主控CPU完成。
由于視頻信號存入硬盤即失去了時間標準,在視頻點播時必須由IPHD恢復時間標準。時間信息的加入采用下述方法由FPGA根據一個標準參考時鐘產生一個時間標準,即產生等距的時間間隙(time slot),在一個time slot中每個用戶只發(fā)送一個視頻幀,根據視頻數據速率的不同,一些低速率的視頻數據可能數個time slot才需要發(fā)送一個視頻幀。以下以每個time slot中每個用戶發(fā)送一個視頻幀為例,說明將數據/命令從緩存器12傳送到網絡的過程,圖4示出數據/命令從緩存器到網絡的過程在步驟S0(slot開始),如果在步驟S1判斷是否有用戶數據等待發(fā)送,在步驟S2控制器根據當前用戶的讀緩存器地址從緩存器讀出該用戶的一幀視頻數據,并在步驟S3根據該用戶的目的地址把數據打成以太網包,然后在步驟S4由控制器將以太網包發(fā)向網絡,并在步驟S5由控制器更新該用戶的緩存器讀地址,然后進到步驟S6,如果有其它用戶,控制器對該用戶進行步驟S1-S6。如果在步驟S1判斷沒有用于數據等待發(fā)送,則在步驟S7判斷是否有命令等待發(fā)送,如果有,進到步驟S8,由控制器命令緩存器讀地址讀出需發(fā)網網絡的命令,然后在步驟S9打包,并進到步驟S10由控制器將命令幀發(fā)向網絡;如果在步驟S7判斷不存在待發(fā)的命令,則進到步驟S11,等待下一個time slot。
下面,結合圖1說明本實施例的IPHD的整個過程。
當用戶要點播視頻節(jié)目時,外部網絡以MAC包的形式,將點播命令由網絡接口13接收;然后傳給控制器14,控制器中的FPGA把接收到的MAC包解包解出點播命令幀,并緩存在緩存區(qū)12(從網絡接收的命令緩存區(qū)),緩存區(qū)寫地址由主控CPU提供,然后FPGA將緩存區(qū)的的點播命令幀傳送到主控CPU,主控CPU根據該命令,向硬盤11發(fā)讀取命令,通過FPGA中的UDMA控制器讀出點播的視頻節(jié)目數據流,緩存在緩存器12處(用戶數據區(qū)),緩存區(qū)寫地址由主控CPU提供,然后再由主控CPU控制下從緩存器12讀出視頻數據幀并由FPGA打包,以MAC包的形式由網絡接口13發(fā)送到目的用戶,完成視頻節(jié)目點播工作。
另一方面,在要將視頻節(jié)目存儲到硬盤11的情況下,包含存儲命令幀的命令包通過網絡接口13接受并傳送到控制器14,控制器中的FPGA將命令包解包,解出節(jié)目存儲命令幀,并將該命令幀送入緩存器12(從網絡接收的命令緩存區(qū))緩存,然后傳給主控CPU;如果用戶存儲要求可以接受,主控CPU發(fā)存儲接受命令,通過FPGA存入緩存器12(發(fā)往網絡的命令緩存區(qū)),在主控CPU的控制下由FPGA打包通過網絡接口13發(fā)往用戶;用戶收到IPHD的存儲接受命令后,將視頻數據幀打包發(fā)給所述IPHD;IPHD通過網絡接口13接收用戶需要存儲的視頻節(jié)目數據包,傳送到控制器14,控制器14中的FPGA將視頻數據包解包,解出視頻數據幀,并將其送入緩存器12(從網絡接收的數據緩存區(qū))緩存,等待寫入硬盤11;當緩存器12中緩存的視頻數據幀到達一定的數量,可以進行一次硬盤寫操作時,在主控CPU的控制下通過FPGA中的UDMA控制器把緩存器中12的視頻數據幀寫入硬盤;重復上述視頻數據輸入過程,直至節(jié)目存儲完畢,用戶發(fā)節(jié)目輸入結束命令給IPHD,IPHD的控制器的主控CPU設置節(jié)目標識,標識節(jié)目名稱、在硬盤中的存儲位置等信息。
雖然上面已經參照附圖對本發(fā)明的原理進行了描述,但是所有落入所附權利要求書范圍的修改和替換都應認為在本發(fā)明的主旨和范圍內。
權利要求
1.一種寬帶IP網中視頻節(jié)目的存儲和點播裝置,其特征在于包含硬盤,用于存儲視頻節(jié)目的數據流,其中視頻數據按照幀的格式存儲;緩存器,與控制器連接,用于對硬盤的讀寫數據和接收或發(fā)送的網絡命令提供緩存;網絡接口,與控制器連接,用于提供IPHD與外部網絡的數據和命令交互通道;控制器,與所述硬盤、緩存器和網絡接口連接,所述控制器具有以下功能控制所述硬盤,包括格式化硬盤、自檢、讀寫操作以及文件系統;控制所述緩存器,包含數據管理以及存儲空間管理;控制網絡接口,并進行視頻數據或命令包的打包和解包。
2.一種寬帶IP網中視頻節(jié)目的存儲和點播方法,其特征在于當由用戶從所述硬盤上點播所述視頻節(jié)目時,包含以下步驟a將來自所述用戶的,包含點播命令的命令包通過所述網絡接口傳送到所述控制器;b所述控制器將所述命令包解包,解出命令幀,并送入所述緩存器緩存,等待所述控制器的處理;c如果所述控制器空閑,所述控制器從所述緩存器中讀出所述命令幀,并根據所述點播命令幀,從所述硬盤讀出點播的視頻節(jié)目的數據幀,并將所述視頻節(jié)目數據幀緩存在所述緩存器中;d所述控制器讀取所述緩存器上緩存的所述視頻節(jié)目數據幀打包,并通過所述網絡接口發(fā)送到所述用戶;e在節(jié)目播放過程中,所述用戶可以通過命令包進行快進、快倒、暫停和停止等操作;f當所述控制器檢查到所述節(jié)目播放完畢時,發(fā)送節(jié)目播放完畢命令給所述用戶,當用戶要將視頻節(jié)目存儲到IPHD上時,包含以下步驟a’將來自所述用戶的,包含存儲命令幀的命令包通過網絡接口傳送到控制器;b’所述控制器將所述命令包解包,解出所述命令幀,并將所述命令幀送入所述緩存器緩存,等待所述控制器的處理;c’如果所述控制器空閑,所述控制器處理所述存儲命令,如果所述用戶存儲要求可以接受,所述控制器通過所述網絡接口發(fā)送存儲接受命令給所述用戶;d’所述用戶收到所述IPHD的所述存儲接受命令后,將視頻數據幀打包發(fā)給所述IPHD;e’所述IPHD將所述用戶需要存儲的視頻節(jié)目數據幀通過網絡接口傳送到控制器;f’所述控制器將所述數據包解包,解出所述數據幀,并將所述數據幀送入所述緩存器緩存,等待寫入所述硬盤;g’當所述緩存器中緩存的視頻數據幀到達一定的數量,在所述控制器的控制下把所述視頻數據幀寫入硬盤;h’重復e’-g’,直至節(jié)目存儲完畢,所述用戶發(fā)節(jié)目輸入結束命令給所述IPHD;i’所述IPHD的控制器設置節(jié)目標識。
全文摘要
本發(fā)明提供了一種成本低,連接方便的寬帶IP網中視頻節(jié)目的存儲和點播裝置和方法,所述裝置包含有硬盤,用于存儲視頻節(jié)目的數據流;緩存器,與所述硬盤連接,用于進行IP包的打包和解包,以及用于對硬盤的讀寫數據和接收的網絡命令提供緩存;網絡接口;控制器,與所述硬盤、緩存器和網絡接口連接,所述控制器用于控制所述硬盤,包括格式化硬盤、自檢、讀寫操作以及文件系統;以及控制所述緩存器和控制網絡接口。
文檔編號H04N7/173GK1372417SQ0110550
公開日2002年10月2日 申請日期2001年2月28日 優(yōu)先權日2001年2月28日
發(fā)明者趙金川, 周助銀, 董程煒, 高漢中, 顧之雅 申請人:上海龍林通信技術有限公司