專利名稱:編解碼系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計算機技術(shù)領(lǐng)域,更具體地來說,涉及數(shù)據(jù)編解碼系統(tǒng)和方法。
背景技術(shù):
隨著廣播電視數(shù)字化不斷發(fā)展,視頻轉(zhuǎn)碼技術(shù)需求不斷增加,轉(zhuǎn)碼技術(shù)的主要應(yīng)用領(lǐng)域是數(shù)字電視廣播和數(shù)字媒體前端處理。當前大量數(shù)字視頻節(jié)目為MPEG-2 (Moving Pictures Experts Group-2,動態(tài)圖像專家組)格式,而許多新的播放設(shè)備為提高傳輸和存儲效率而采用諸如MPEG-4/H. 264/Real/VC-1/AVS等高級數(shù)字編解碼格式,因此源于MPEG-2的轉(zhuǎn)碼技術(shù)已大量采用,而對與此相關(guān)的高清晰度轉(zhuǎn)碼的要求也越來越高,特別是實時轉(zhuǎn)碼技術(shù)及其實現(xiàn)手段的提高。在現(xiàn)有技術(shù)中,提供了一種多媒體轉(zhuǎn)碼服務(wù)器,其中,包括接口模塊,用于接收轉(zhuǎn) 碼任務(wù),所述轉(zhuǎn)碼任務(wù)為將多媒體數(shù)據(jù)轉(zhuǎn)碼為流媒體格式的任務(wù);轉(zhuǎn)碼處理模塊,用于針對所述轉(zhuǎn)碼任務(wù)執(zhí)行目標流媒體格式的轉(zhuǎn)碼處理;數(shù)據(jù)塊封裝模塊,用于在轉(zhuǎn)碼過程中,將已完成轉(zhuǎn)碼的部分按照時間戳封裝為相應(yīng)的數(shù)據(jù)塊;轉(zhuǎn)碼進度監(jiān)控模塊,該轉(zhuǎn)碼與顯示終端連接,用于從完成轉(zhuǎn)碼的首個數(shù)據(jù)塊開始,在顯示終端上按照時間戳依次播放相應(yīng)的數(shù)據(jù)塊。該技術(shù)方案在一定程度上能夠?qū)崿F(xiàn)轉(zhuǎn)碼任務(wù)。但是數(shù)據(jù)轉(zhuǎn)碼任務(wù)繁重,會占用太多的服務(wù)器資源,所以在服務(wù)器進行轉(zhuǎn)碼操作時,轉(zhuǎn)碼操作的速度慢。此外,當服務(wù)器執(zhí)行其他任務(wù)時,會嚴重影響轉(zhuǎn)碼操作的速度,甚至影響到服務(wù)器的正常運行。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中多媒體轉(zhuǎn)碼會占用太多的服務(wù)器資源,影響服務(wù)器速度的缺陷,本發(fā)明提出了能夠解決上述缺陷的編解碼方法和系統(tǒng)。本發(fā)明提供了一種編解碼方法,包括用戶接口模塊從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式;格式識別模塊識別原始數(shù)據(jù)的原始封裝格式;多個分離器中與原始數(shù)據(jù)的原始封裝格式相匹配的分離器將原始數(shù)據(jù)分離;數(shù)據(jù)處理模塊將分離的原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼;以及封裝模塊基于用戶所需的數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。優(yōu)選地,用戶所需的數(shù)據(jù)編碼格式進一步包括音頻數(shù)據(jù)編碼格式和視頻數(shù)據(jù)編碼格式。優(yōu)選地,數(shù)據(jù)處理模塊包括多個視頻編解碼模塊,其中,編解碼方法進一步包括多個視頻編解碼模塊中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將原始視頻數(shù)據(jù)進行解碼,并根據(jù)視頻數(shù)據(jù)編碼格式對解碼后的視頻數(shù)據(jù)進行編碼。優(yōu)選地,數(shù)據(jù)處理模塊還包括多個音頻編解碼模塊,其中,編解碼方法進一步包括多個音頻編解碼模塊中與從原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式相匹配的一個音頻編解碼模塊將原始音頻數(shù)據(jù)進行解碼,并且根據(jù)音頻數(shù)據(jù)編碼格式對解碼后的音頻數(shù)據(jù)進行編碼。優(yōu)選地,該編解碼方法進一步包括當從原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式相同時,多個音頻編解碼模塊不需要對原始音頻數(shù)據(jù)進行解碼和編碼,原始音頻數(shù)據(jù)作為編碼后的音頻數(shù)據(jù)。優(yōu)選地,管理模塊控制與原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對原始視頻數(shù)據(jù)進行解碼和編碼。優(yōu)選地,該編解碼方法進一步包括在封裝模塊將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)后,封裝模塊通過用戶接口模塊通知用戶完成編解碼并且存儲封裝后的用戶所需的數(shù)據(jù)。
優(yōu)選地,封裝模塊存儲封裝后的用戶所需的數(shù)據(jù)進一步包括封裝模塊根據(jù)用戶接口模塊中的用戶預(yù)先設(shè)置的目的地址,對封裝后的用戶所需的數(shù)據(jù)進行存儲。本發(fā)明還提供了一種編解碼系統(tǒng),包括用戶接口模塊,用于從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式;格式識別模塊,用于識別原始數(shù)據(jù)的原始封裝格式;多個分離器,多個分離器中與原始數(shù)據(jù)的原始封裝格式相匹配的分離器將原始數(shù)據(jù)分離;數(shù)據(jù)處理模塊,用于將分離的原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼;以及封裝模塊,用于基于用戶所需的數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。優(yōu)選地,用戶所需的數(shù)據(jù)編碼格式進一步包括音頻數(shù)據(jù)編碼格式和視頻數(shù)據(jù)編碼格式。優(yōu)選地,數(shù)據(jù)處理模塊包括多個視頻編解碼模塊,多個視頻編解碼模塊中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將原始視頻數(shù)據(jù)進行解碼,并根據(jù)視頻數(shù)據(jù)編碼格式對解碼后的視頻數(shù)據(jù)進行編碼;以及管理模塊,用于控制與原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對原始視頻數(shù)據(jù)進行解碼和編碼。優(yōu)選地,數(shù)據(jù)處理模塊進一步包括多個音頻編解碼模塊,其中,當從原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式不同時,多個音頻編解碼模塊中與原始視頻數(shù)據(jù)的編碼格式相匹配的一個音頻編解碼模塊將原始音頻數(shù)據(jù)進行解碼,并且根據(jù)音頻數(shù)據(jù)編碼格式對解碼后的音頻數(shù)據(jù)進行編碼。優(yōu)選地,用戶接口模塊還存儲有用戶預(yù)先設(shè)置的目的地址;以及封裝模塊還用于通過用戶接口模塊通知用戶完成編解碼并且存儲封裝后的用戶所需的數(shù)據(jù),以及根據(jù)用戶接口模塊中的用戶預(yù)先設(shè)置的目的地址,對封裝后的用戶所需的數(shù)據(jù)進行存儲。優(yōu)選地,用戶接口模塊、格式識別模塊、多個分離器、數(shù)據(jù)處理模塊中的多個音頻編解碼模塊設(shè)置在主機端;以及數(shù)據(jù)處理模塊中的多個視頻編解碼模塊和管理模塊設(shè)置在外接設(shè)備中。利用本發(fā)明的編解碼系統(tǒng)和方法,不僅能夠?qū)崿F(xiàn)將多種不同格式的數(shù)據(jù)轉(zhuǎn)換為用戶所需格式的數(shù)據(jù),而且通過在外接設(shè)備中進行視頻數(shù)據(jù)的編碼格式的轉(zhuǎn)換,大幅提高了數(shù)據(jù)轉(zhuǎn)換速度,能夠滿足用戶的實時需求。而且大量減少了服務(wù)器的工作任務(wù),所以服務(wù)器在執(zhí)行轉(zhuǎn)碼任務(wù)時,也能保證服務(wù)器正常運行。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖
中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。在附圖中圖I為根據(jù)本發(fā)明的第一實施例的編解碼方法的總體流程圖;圖2為根據(jù)本發(fā)明的第二實施例的進行編解碼操作的具體流程圖; 圖3為根據(jù)本發(fā)明的第三實施例的編解碼系統(tǒng)的總體結(jié)構(gòu)圖;以及圖4為根據(jù)本發(fā)明的第四實施例的編解碼系統(tǒng)的具體結(jié)構(gòu)圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。圖I為根據(jù)本發(fā)明的第一實施例的編解碼方法的總體流程圖。在步驟SlOO中,用戶接口模塊從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式,具體地,用戶接口模塊可以從外部接收要進行轉(zhuǎn)碼的原始數(shù)據(jù),并且根據(jù)用戶的輸入信息,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式,然后調(diào)用相應(yīng)的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式的轉(zhuǎn)換系統(tǒng)。在步驟S102中,格式識別模塊識別原始數(shù)據(jù)的原始封裝格式。然后,根據(jù)原始數(shù)據(jù)的原始封裝格式,將原始數(shù)據(jù)自動傳送至與原始數(shù)據(jù)的原始封裝格式相匹配的分離器。在步驟S104中,多個分離器中與原始數(shù)據(jù)的原始封裝格式相匹配的分離器將原始數(shù)據(jù)分離。分離器將分離的原始數(shù)據(jù)自動傳送至數(shù)據(jù)處理模塊。在步驟S106中,數(shù)據(jù)處理模塊將分離的原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼。在步驟108中,封裝模塊基于用戶所需的數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。上述編解碼方法通過根據(jù)原始數(shù)據(jù)的封裝格式自動選擇與原始數(shù)據(jù)的封裝格式相匹配的分離器,并且根據(jù)用戶輸入,調(diào)用相應(yīng)的數(shù)據(jù)處理模塊,從而實現(xiàn)了將多種格式數(shù)據(jù)轉(zhuǎn)換為用戶需要的格式的數(shù)據(jù)的操作,從而能夠滿足不同用戶的不同需求。以下將具體描述步驟106的編解碼操作。圖2為根據(jù)本發(fā)明的第二實施例的進行編解碼操作的具體流程圖。用戶所需的數(shù)據(jù)的編碼格式進一步包括音頻數(shù)據(jù)編碼格式和視頻數(shù)據(jù)編碼格式。數(shù)據(jù)處理模塊包括多個視頻編解碼模塊,在步驟202中,編解碼方法進一步包括多個視頻編解碼模塊中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將原始視頻數(shù)據(jù)進行解碼,并根據(jù)視頻數(shù)據(jù)編碼格式對解碼后的視頻數(shù)據(jù)進行編碼。具體地,多個視頻編解碼模塊中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將原始數(shù)據(jù)解碼成YUV數(shù)據(jù),然后,根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的YUV數(shù)據(jù)進行編碼。在該步驟中,管理模塊控制與原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對原始視頻數(shù)據(jù)進行解碼和編碼。然后,將編碼后的視頻數(shù)據(jù)傳送至封裝模塊。數(shù)據(jù)處理模塊還包括多個音頻編解碼模塊,在步驟204中,確定從原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式是否相同。在步驟206中,如果從原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式相同,則多個音頻編解碼模塊不需要對原始音頻數(shù)據(jù)進行解碼和編碼,并且原始音頻數(shù)據(jù)直接作為編碼后的音頻數(shù)據(jù)傳送至封裝模塊。在步驟208中,如果從原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式不相同,則其中,編解碼方法進一步包括多個音頻編解碼模塊中與從原始數(shù)據(jù)分離 出的原始音頻數(shù)據(jù)的編碼格式相匹配的一個音頻編解碼模塊將原始音頻數(shù)據(jù)進行解碼,并且根據(jù)音頻數(shù)據(jù)編碼格式對解碼后的音頻數(shù)據(jù)進行編碼。然后,編碼后的音頻數(shù)據(jù)傳送至封裝模塊。此外,在封裝模塊將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)后,封裝模塊通過用戶接口模塊通知用戶完成編解碼并且存儲封裝后的用戶所需的數(shù)據(jù)。其中,封裝模塊存儲封裝后的用戶所需的數(shù)據(jù)進一步包括封裝模塊根據(jù)用戶接口模塊中的用戶預(yù)先設(shè)置的目的地址,對封裝后的用戶所需的數(shù)據(jù)進行存儲。具體地,在封裝模塊將接收到的編碼后的視頻數(shù)據(jù)和原始音頻數(shù)據(jù)或編碼后的音頻數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)后,封裝模塊從用戶接口模塊獲取用戶預(yù)先設(shè)置的目的地址并且將封裝后的用戶所需的數(shù)據(jù)存儲在目的地址,同時通過用戶接口模塊通知用戶已經(jīng)完成編解碼操作,其中,用戶接口模塊通過返回函數(shù)或返回指針通知用戶已經(jīng)完成編解碼操作。例如,目的地址可以是存放數(shù)據(jù)的內(nèi)存地址或者磁盤文件的路徑和文件名。該編解碼方法在管理模塊的控制下,可以通過多個視頻編解碼模塊對相同編碼格式的原始視頻數(shù)據(jù)進行解碼和編碼,還可以通過與原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對多種視頻數(shù)據(jù)同時進行解碼,并且根據(jù)用戶所需要的視頻數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼。這樣能夠?qū)崿F(xiàn)將一種或多種視頻編碼格式的視頻數(shù)據(jù)同時轉(zhuǎn)換為用戶所需要的一種或多個視頻編碼格式的視頻數(shù)據(jù)。能夠滿足用戶的不同編碼格式的需求,同時系統(tǒng)在管理模塊的控制下,可以更快地完成編解碼操作。大大減少了用戶等待時間,從而滿足實時轉(zhuǎn)碼需求。圖3為根據(jù)本發(fā)明的第三實施例的編解碼系統(tǒng)的總體結(jié)構(gòu)圖。編解碼系統(tǒng)300包括用戶接口模塊302,用于從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式;格式識別模塊304,用于識別原始數(shù)據(jù)的原始封裝格式;多個分離器306,多個分離器306中與原始數(shù)據(jù)的原始封裝格式相匹配的分離器將原始數(shù)據(jù)分離;數(shù)據(jù)處理模塊308,用于將分離的原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼;以及封裝模塊310,用于基于用戶所需的數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。通過該編解碼系統(tǒng),可以將多種不同封裝格式和編碼格式的數(shù)據(jù)轉(zhuǎn)換為用戶所需的封裝格式和編碼格式的數(shù)據(jù)。從而在用戶需要時,可以通過簡單的輸入所需數(shù)據(jù)的屬性信息,目的地址等,就可以在很短的時間內(nèi)獲得期望數(shù)據(jù)。圖4為根據(jù)本發(fā)明的第四實施例的編解碼系統(tǒng)的具體結(jié)構(gòu)圖。編解碼系統(tǒng)包括用戶接口模塊402 ;格式識別模塊404 ;多個分離器406,用于將原始數(shù)據(jù)分離成原始視頻數(shù)據(jù)和原始音頻數(shù)據(jù)并且將原始視頻數(shù)據(jù)放置在視頻數(shù)據(jù)緩沖區(qū)和將原始音頻數(shù)據(jù)放置在音頻數(shù)據(jù)緩沖器,其中,用戶所需的數(shù)據(jù)的編碼格式進一步包括音頻數(shù)據(jù)編碼格式和視頻數(shù)據(jù)編碼格式;數(shù)據(jù)處理模塊進一步包括多個音頻編解碼模塊408和多個視頻編解碼模塊414。其中,用戶接口模塊402、格式識別模塊404、多個分離器406、數(shù)據(jù)處理模塊中的多個音頻編解碼模塊408設(shè)置在主機端400。此外,主機端400還設(shè)置有視頻數(shù)據(jù)預(yù)處理模塊和板上系統(tǒng)接口模塊。視頻數(shù)據(jù)預(yù)處理模塊用于將從多個分離器406分離出的原始視頻數(shù)據(jù)按照(GOP)組織成一個任務(wù)片段。然后通過板上系統(tǒng)接口模塊將任務(wù)片段傳送給外接設(shè)備412。例如,外接設(shè)備412可 以為插入服務(wù)器的眾核加速卡。外接設(shè)備412設(shè)置有多個視頻編解碼模塊414、管理模塊416、以及數(shù)據(jù)輸入輸出模塊。數(shù)據(jù)輸入輸出模塊將從主機端400的板上系統(tǒng)接口模塊接收的該任務(wù)片段傳送給多個視頻編解碼模塊414。多個視頻編解碼模塊414中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將原始視頻數(shù)據(jù)進行解碼,并根據(jù)視頻數(shù)據(jù)編碼格式對解碼后的視頻數(shù)據(jù)進行編碼;以及管理模塊416,用于控制與原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對原始視頻數(shù)據(jù)進行解碼和編碼。具體地,多個視頻編解碼模塊414中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將原始數(shù)據(jù)解碼成YUV數(shù)據(jù)。外接設(shè)備還包括解碼后數(shù)據(jù)處理模塊,用于根據(jù)用戶所需數(shù)據(jù)的分辨率對要編碼的數(shù)據(jù)進行縮放處理,例如通過對YUV數(shù)據(jù)進行插值或采樣來實現(xiàn)數(shù)據(jù)的縮放處理。然后,多個視頻編解碼模塊414根據(jù)用戶所需的視頻數(shù)據(jù)編碼格式對經(jīng)過縮放處理的YUV數(shù)據(jù)進行編碼,例如,將YUV數(shù)據(jù)編碼成H264數(shù)據(jù)。然后,將編碼后的數(shù)據(jù)通過輸入輸出模塊傳送回主機端400。主機端400中的板上系統(tǒng)接口模塊接收到該編碼后的數(shù)據(jù)以后,將該編碼后的數(shù)據(jù)傳送給封裝模塊410。主機端400和外接設(shè)備412通過系統(tǒng)接口模塊和數(shù)據(jù)輸入輸出模塊進行原始視頻數(shù)據(jù)和轉(zhuǎn)碼的視頻數(shù)據(jù)之間的快速傳輸。通過外接設(shè)備412進行視頻數(shù)據(jù)的編碼和解碼計算,這樣服務(wù)器的計算任務(wù)大大減少,從而能夠保證滿足用戶轉(zhuǎn)碼需求的同時,保證服務(wù)器的正常運行。此外,外接設(shè)備上具有多個處理器,例如,64個處理器核心。大幅提高了數(shù)據(jù)轉(zhuǎn)碼的速度,從而滿足用戶的實時需求。當原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式不同時,多個音頻編解碼模塊408中與從原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的一個音頻編解碼模塊將原始音頻數(shù)據(jù)進行解碼,并且根據(jù)音頻數(shù)據(jù)編碼格式對解碼后的音頻數(shù)據(jù)進行編碼,然后將編碼后的音頻數(shù)據(jù)傳送至封裝模塊410。當原始音頻數(shù)據(jù)的編碼格式與音頻數(shù)據(jù)編碼格式相同時,多個音頻編解碼模塊408無需對原始音頻數(shù)據(jù)進行解碼和編碼操作,而將該原始音頻數(shù)據(jù)傳送至封裝模塊410。封裝模塊410,用于基于數(shù)據(jù)的封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。在一個實施例中,例如,將H264數(shù)據(jù)和音頻數(shù)據(jù)封裝成AVI數(shù)據(jù)。封裝模塊410還用于存儲有用戶預(yù)先設(shè)置的目的地址。此外,封裝模塊410還用于通過用戶接口模塊402通知用戶完成編解碼并且存儲封裝后的用戶所需的數(shù)據(jù),其中,封裝模塊410根據(jù)用戶接口模塊402中的用戶預(yù)先設(shè)置的目的地址,對封裝后的用戶所需的數(shù)據(jù)進行存儲。目的地址可以為內(nèi)存地址或者磁盤文件路徑和文件名。該編解碼系統(tǒng)可以僅通過用戶簡單輸入期望數(shù)據(jù)的屬性信息,以及目的地址等,能夠根據(jù)用戶需求來變換轉(zhuǎn)碼任務(wù),就可以自動將不同格式的原始數(shù)據(jù)轉(zhuǎn)碼為用戶所需的一種或多種格式的數(shù)據(jù),轉(zhuǎn)碼完成后,用戶只需通過用戶接口庫的通知,就可以在目的地址找到所需格式的數(shù)據(jù)。整個流程自動完成,無需用戶參與。此外,將占用資源少的步驟通過 服務(wù)器來執(zhí)行,而占用資源多的視頻轉(zhuǎn)碼步驟通過眾核加速卡執(zhí)行,所以具有多核心的處理器的外接設(shè)備和主機CPU協(xié)同計算。大幅提高了轉(zhuǎn)碼速度,能夠?qū)崿F(xiàn)用戶的實時需求。因此,服務(wù)器在進行轉(zhuǎn)碼的同時還可以進行其他操作任務(wù),保證服務(wù)器的正常運行。以上僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種編解碼方法,包括 用戶接口模塊從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式; 格式識別模塊識別所述原始數(shù)據(jù)的原始封裝格式; 多個分離器中與所述原始數(shù)據(jù)的原始封裝格式相匹配的所述分離器將所述原始數(shù)據(jù)分離; 數(shù)據(jù)處理模塊將分離的所述原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的所述數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼;以及 封裝模塊基于用戶所需的所述數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于,用戶所需的所述數(shù)據(jù)編碼格式進一步包括音頻數(shù)據(jù)編碼格式和視頻數(shù)據(jù)編碼格式。
3.根據(jù)權(quán)利要求2所述的編解碼方法,其特征在于,數(shù)據(jù)處理模塊包括多個視頻編解碼模塊,其中,所述編解碼方法進一步包括所述多個視頻編解碼模塊中與從所述原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將所述原始視頻數(shù)據(jù)進行解碼,并根據(jù)所述視頻數(shù)據(jù)編碼格式對解碼后的視頻數(shù)據(jù)進行編碼。
4.根據(jù)權(quán)利要求3所述的編解碼方法,其特征在于,數(shù)據(jù)處理模塊還包括多個音頻編解碼模塊,其中,所述編解碼方法進一步包括所述多個音頻編解碼模塊中與從所述原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式相匹配的一個音頻編解碼模塊將所述原始音頻數(shù)據(jù)進行解碼,并且根據(jù)所述音頻數(shù)據(jù)編碼格式對解碼后的音頻數(shù)據(jù)進行編碼。
5.根據(jù)權(quán)利要求3所述的編解碼方法,進一步包括當從所述原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與所述音頻數(shù)據(jù)編碼格式相同時,所述多個音頻編解碼模塊不需要對所述原始音頻數(shù)據(jù)進行解碼和編碼,所述原始音頻數(shù)據(jù)作為編碼后的音頻數(shù)據(jù)。
6.根據(jù)權(quán)利要求3所述的編解碼方法,其特征在于,管理模塊控制與所述原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對所述原始視頻數(shù)據(jù)進行解碼和編碼。
7.根據(jù)權(quán)利要求I所述的編解碼方法,進一步包括在所述封裝模塊將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)后,所述封裝模塊通過所述用戶接口模塊通知所述用戶完成編解碼并且存儲封裝后的用戶所需的數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的編解碼方法,其特征在于,所述封裝模塊存儲封裝后的用戶所需的數(shù)據(jù)進一步包括所述封裝模塊根據(jù)所述用戶接口模塊中的用戶預(yù)先設(shè)置的目的地址,對所述封裝后的用戶所需的數(shù)據(jù)進行存儲。
9.一種編解碼系統(tǒng),包括 用戶接口模塊,用于從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式; 格式識別模塊,用于識別所述原始數(shù)據(jù)的原始封裝格式; 多個分離器,所述多個分離器中與所述原始數(shù)據(jù)的原始封裝格式相匹配的所述分離器將所述原始數(shù)據(jù)分離; 數(shù)據(jù)處理模塊,用于將分離的所述原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼;以及 封裝模塊,用于基于用戶所需的所述數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的編解碼系統(tǒng),其特征在于,用戶所需的所述數(shù)據(jù)編碼格式進一步包括音頻數(shù)據(jù)編碼格式和視頻數(shù)據(jù)編碼格式。
11.根據(jù)權(quán)利要求10所述編解碼系統(tǒng),其特征在于,所述數(shù)據(jù)處理模塊包括 多個視頻編解碼模塊,所述多個視頻編解碼模塊中與從所述原始數(shù)據(jù)分離出的原始視頻數(shù)據(jù)的編碼格式相匹配的視頻編解碼模塊將所述原始視頻數(shù)據(jù)進行解碼,并根據(jù)所述視頻數(shù)據(jù)編碼格式對解碼后的視頻數(shù)據(jù)進行編碼;以及 管理模塊,用于控制與所述原始視頻數(shù)據(jù)的編碼格式相匹配的一個或多個視頻編解碼模塊對所述原始視頻數(shù)據(jù)進行解碼和編碼。
12.根據(jù)權(quán)利要求11所述的編解碼系統(tǒng),其特征在于,數(shù)據(jù)處理模塊進一步包括多個音頻編解碼模塊,其中,當從所述原始數(shù)據(jù)分離出的原始音頻數(shù)據(jù)的編碼格式與所述音頻數(shù)據(jù)編碼格式不同時,所述多個音頻編解碼模塊中與所述原始視頻數(shù)據(jù)的編碼格式相匹配的一個音頻編解碼模塊將所述原始音頻數(shù)據(jù)進行解碼,并且根據(jù)所述音頻數(shù)據(jù)編碼格式對解碼后的音頻數(shù)據(jù)進行編碼。
13.根據(jù)權(quán)利要求9所述的編解碼系統(tǒng),其特征在于,所述用戶接口模塊還存儲有用戶預(yù)先設(shè)置的目的地址;以及 所述封裝模塊還用于通過所述用戶接口模塊通知所述用戶完成編解碼并且存儲封裝后的用戶所需的數(shù)據(jù),以及根據(jù)所述用戶接口模塊中的用戶預(yù)先設(shè)置的目的地址,對所述封裝后的用戶所需的數(shù)據(jù)進行存儲。
14.根據(jù)權(quán)利要求9至13中的任一項所述的編解碼系統(tǒng),其特征在于, 所述用戶接口模塊、所述格式識別模塊、所述多個分離器、所述數(shù)據(jù)處理模塊中的多個音頻編解碼模塊設(shè)置在主機端;以及 所述數(shù)據(jù)處理模塊中的多個視頻編解碼模塊和所述管理模塊設(shè)置在外接設(shè)備中。
全文摘要
本發(fā)明提供了一種編解碼方法,包括用戶接口模塊從外部接收原始數(shù)據(jù),并根據(jù)用戶的輸入,定義用戶所需的數(shù)據(jù)編碼格式和數(shù)據(jù)封裝格式;格式識別模塊識別原始數(shù)據(jù)的原始封裝格式;多個分離器中與原始數(shù)據(jù)的原始封裝格式相匹配的分離器將原始數(shù)據(jù)分離;數(shù)據(jù)處理模塊將分離的原始數(shù)據(jù)進行解碼,并根據(jù)用戶所需的數(shù)據(jù)編碼格式對解碼后的數(shù)據(jù)進行編碼;以及封裝模塊基于用戶所需的數(shù)據(jù)封裝格式將編碼后的數(shù)據(jù)封裝成用戶所需的數(shù)據(jù)。能夠根據(jù)用戶實際需求,將一種或多種格式的原始數(shù)據(jù)轉(zhuǎn)碼為用戶所需的一種或多種格式的數(shù)據(jù),滿足用戶的不同需求,減少存儲多種格式的數(shù)據(jù)所需的存儲資源。轉(zhuǎn)碼過程無需用戶參與,減輕了用戶的工作量。
文檔編號H04N21/234GK102802022SQ20121031167
公開日2012年11月28日 申請日期2012年8月28日 優(yōu)先權(quán)日2012年8月28日
發(fā)明者劉立, 何丁丁, 蔡華元 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司