專利名稱:媒體文件轉(zhuǎn)碼系統(tǒng)及轉(zhuǎn)碼方法
媒體文件轉(zhuǎn)碼系統(tǒng)及轉(zhuǎn)碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體技術(shù)領(lǐng)域,尤其是涉及一種將多媒體文件的格式進(jìn)行轉(zhuǎn)換的轉(zhuǎn) 碼系統(tǒng)和轉(zhuǎn)碼方法。背景技術(shù):
多媒體(包括視頻、音頻、圖像等)已經(jīng)成為人們工作學(xué)習(xí)中必不可少的重要組 成部分,在人們工作、學(xué)習(xí)以及生活中起到越來越大的作用。多媒體在諸多領(lǐng)域都有其應(yīng) 用,針對人們在日常工作、生活中對多媒體服務(wù)的不同需求,一些標(biāo)準(zhǔn)化組織針對于社會上 不同業(yè)務(wù)需求提出了的多種音視頻編碼標(biāo)準(zhǔn)。例如,針對視頻電話和視頻會議業(yè)務(wù)提出的 H. 263標(biāo)準(zhǔn);針對DVB,HDTV和DVD提出的Mpeg2標(biāo)準(zhǔn);針對網(wǎng)絡(luò)中流媒體服務(wù)開發(fā)的MPEG4 標(biāo)準(zhǔn);以及能夠提供高視頻壓縮性能,網(wǎng)絡(luò)友好的H. 264標(biāo)準(zhǔn)等。由于多種編碼標(biāo)準(zhǔn)的同時存在,以及在多媒體應(yīng)用中對壓縮效率、解壓速度、碼流 使用的目標(biāo)設(shè)備等要求的不同,存在著多種多樣的媒體文件,它們彼此之間所使用的文件 格式、視頻格式、壓縮格式各不相同。為了有效地利用現(xiàn)有的多媒體資源,這種標(biāo)準(zhǔn)之間的 轉(zhuǎn)換技術(shù)——即轉(zhuǎn)碼技術(shù)便受到了人們的廣泛關(guān)注,不斷得到進(jìn)一步的研究與開發(fā)。傳統(tǒng)的轉(zhuǎn)碼裝置或系統(tǒng)只能以一對一的形式將一種格式的一個視頻文件轉(zhuǎn)換為 另一種格式的一個視頻文件,由于轉(zhuǎn)碼的基本原理是先對視頻文件進(jìn)行解碼,然后用所要 轉(zhuǎn)換的格式的編碼方式進(jìn)行編碼,需要進(jìn)行大量的數(shù)據(jù)處理工作,因而需要進(jìn)行較長的時 間。對于CPU性能一般的家用機(jī)來說,轉(zhuǎn)碼的時間與視頻播放的時間差不多,因而在對較大 的視頻文件轉(zhuǎn)碼時,等待轉(zhuǎn)碼完成的時間變得不能忍受。而在轉(zhuǎn)碼未完成時,視頻文件是不 能播放的。另外,轉(zhuǎn)碼后的視頻文件的大小一般也不會有較大的改變,大容量的視頻文件若 要放入容量較小的手持設(shè)備如手機(jī)或MP4中播放也會存在問題。
發(fā)明內(nèi)容鑒于此,有必要針對傳統(tǒng)的轉(zhuǎn)碼裝置或系統(tǒng)只能以一對一的形式將一種格式的一 個視頻文件轉(zhuǎn)換為另一種格式的一個視頻文件的問題,提供一種可將一種格式的一個視頻 文件轉(zhuǎn)換為另外一種格式的多個視頻文件的轉(zhuǎn)碼系統(tǒng)。此外還提供一種媒體文件轉(zhuǎn)碼的方法。一種媒體文件轉(zhuǎn)碼系統(tǒng),包括對源文件進(jìn)行格式轉(zhuǎn)換的轉(zhuǎn)碼模塊、用戶參數(shù)設(shè)置 模塊以及與所述轉(zhuǎn)碼模塊和用戶參數(shù)設(shè)置模塊連接,根據(jù)用戶參數(shù)將轉(zhuǎn)碼模塊的輸出數(shù)據(jù) 流進(jìn)行處理得到兩個以上媒體文件的拆分模塊。在傳統(tǒng)的轉(zhuǎn)碼系統(tǒng)中加入拆分模塊,可把一種格式的一個視頻文件轉(zhuǎn)換為另外一 種格式的多個視頻文件,在轉(zhuǎn)碼不用完全完成的情況下,即可觀看先期完成的部分視頻,并 且分割成的小文件也有利于在小容量的手持設(shè)備中播放。優(yōu)選地,所述拆分模塊包括參數(shù)解析模塊、文件生成模塊以及后續(xù)處理模塊,所述參數(shù)解析模塊接收用戶設(shè)置的參數(shù)并解析后傳遞給文件生成模塊,文件生成模塊根據(jù)解析 后的參數(shù)生成符合要求的媒體文件,后續(xù)處理模塊對生成的媒體文件進(jìn)行進(jìn)一步處理。優(yōu)選地,所述參數(shù)解析模塊進(jìn)行的處理包括分割策略解析,所述分割策略包括基 于時間片的分割、基于文件大小的分割以及基于場景的分割。優(yōu)選地,所述后續(xù)處理模塊進(jìn)行的處理包括文件存儲、文件命名或建立播放指向。優(yōu)選地,所述轉(zhuǎn)碼模塊包括音視頻流分離模塊、視頻轉(zhuǎn)碼模塊、音頻轉(zhuǎn)碼模塊以及 音視頻流合成模塊,音視頻流分離模塊與視頻轉(zhuǎn)碼模塊和音頻轉(zhuǎn)碼模塊相連,視頻轉(zhuǎn)碼模 塊和音頻轉(zhuǎn)碼模塊都與音視頻流合成模塊連接,所述音視頻流分離模塊將源文件進(jìn)行處理 得到分離的音頻流和視頻流,所述視頻轉(zhuǎn)碼模塊和音頻轉(zhuǎn)碼模塊分別將視頻流和音頻流進(jìn) 行轉(zhuǎn)碼,所述音視頻流合成模塊將轉(zhuǎn)碼后的視頻流和音頻流進(jìn)行合成得到音視頻的輸出數(shù) 據(jù)流。一種媒體文件的轉(zhuǎn)碼方法,包括如下步驟接收源文件和讀取用戶參數(shù);對源文 件按照用戶參數(shù)進(jìn)行格式轉(zhuǎn)換;對轉(zhuǎn)換后的源文件按照用戶參數(shù)進(jìn)行分割得到兩個以上的 媒體文件。通過把一種格式的一個視頻文件轉(zhuǎn)換為另外一種格式的多個視頻文件,在轉(zhuǎn)碼不 用完全完成的情況下,即可觀看先期完成的部分視頻,并且分割成的小文件也有利于在小 容量的手持設(shè)備中播放。優(yōu)選地,對源文件進(jìn)行格式轉(zhuǎn)換的步驟包括將源文件進(jìn)行音視頻流分離處理,得 到音頻流和視頻流;分別對音頻流和視頻流按照設(shè)置的用戶參數(shù)進(jìn)行轉(zhuǎn)碼;對轉(zhuǎn)碼后的音 頻流和視頻流進(jìn)行合成。優(yōu)選地,分割的步驟包括對用戶設(shè)置的參數(shù)進(jìn)行解析;根據(jù)解析后的用戶參數(shù) 進(jìn)行分割處理生成多個媒體文件;對媒體文件進(jìn)行后續(xù)處理。優(yōu)選地,用戶設(shè)置的參數(shù)包括分割策略,所述分割策略為基于時間片的分割、基于 文件大小的分割或基于場景的分割。優(yōu)選地,對媒體文件進(jìn)行的后續(xù)處理包括文件存儲、文件命名或建立播放指向。
圖1為媒體文件轉(zhuǎn)碼系統(tǒng)結(jié)構(gòu)圖;圖2為媒體文件轉(zhuǎn)碼系統(tǒng)的內(nèi)部結(jié)構(gòu)圖;圖3為拆分模塊結(jié)構(gòu)圖;圖4為轉(zhuǎn)碼處理流程圖。
具體實施方式如圖1所示,為本實施例的媒體文件轉(zhuǎn)碼系統(tǒng)結(jié)構(gòu)圖。該轉(zhuǎn)碼系統(tǒng)包括轉(zhuǎn)碼模塊 100、用戶參數(shù)設(shè)置模塊200以及與轉(zhuǎn)碼模塊100和用戶參數(shù)設(shè)置模塊200連接的拆分模塊 300。轉(zhuǎn)碼模塊100根據(jù)用戶參數(shù)設(shè)置模塊200的參數(shù)要求對源文件進(jìn)行格式轉(zhuǎn)換得到音 視頻的輸出數(shù)據(jù)流,拆分模塊200根據(jù)用戶參數(shù)設(shè)置模塊200的參數(shù)要求對音視頻的輸出 數(shù)據(jù)流進(jìn)行處理得到多個媒體文件。如圖2所示,為媒體文件轉(zhuǎn)碼系統(tǒng)的內(nèi)部結(jié)構(gòu)圖。
轉(zhuǎn)碼模塊100包括音視頻流分離模塊110、視頻轉(zhuǎn)碼模塊120、音頻轉(zhuǎn)碼模塊130 以及音視頻流合成模塊140。源文件首先由音視頻流分離模塊110進(jìn)行處理得到分離的音 頻流和視頻流,音視頻流分離模塊110與視頻轉(zhuǎn)碼模塊120和音頻轉(zhuǎn)碼模塊130相連將視 頻流和音頻流分別傳遞給視頻轉(zhuǎn)碼模塊120和音頻轉(zhuǎn)碼模塊130進(jìn)行視頻轉(zhuǎn)碼和音頻轉(zhuǎn) 碼。視頻轉(zhuǎn)碼模塊120和音頻轉(zhuǎn)碼模塊130又都與音視頻流合成模塊140連接將轉(zhuǎn)碼后的 視頻流和音頻流進(jìn)行合成得到音視頻的輸出數(shù)據(jù)流。用戶參數(shù)設(shè)置模塊200在轉(zhuǎn)碼過程中根據(jù)用戶設(shè)置的參數(shù)對視頻轉(zhuǎn)碼、音頻轉(zhuǎn)碼 以及音視頻流合成進(jìn)行控制。如圖3所示,為拆分模塊300的結(jié)構(gòu)圖。拆分模塊300包括依次連接的參數(shù)解析 模塊310、文件生成模塊320以及后續(xù)處理模塊330。參數(shù)解析模塊310接收用戶設(shè)置的參 數(shù)并解析后傳遞給文件生成模塊320,文件生成模塊320根據(jù)解析后的參數(shù)對轉(zhuǎn)碼后的音 視頻流處理生成符合要求的媒體文件,后續(xù)處理模塊330對生成的媒體文件進(jìn)行進(jìn)一步的處理。其中參數(shù)解析模塊310進(jìn)行的處理包括分割策略解析,分割策略即采取何種規(guī)則 將媒體文件進(jìn)行分割。分割策略包括基于時間片的分割、基于文件大小的分割以及基于場 景的分割。參數(shù)解析模塊310根據(jù)分割策略來確定文件生成模塊320進(jìn)行何種處理。如果是基于時間片的分割,用戶設(shè)置以一定時間長度的視頻為一個文件,如20分 鐘,則參數(shù)解析模塊310將解析結(jié)果傳輸給文件生成模塊320,文件生成模塊320就根據(jù) 視頻流和音頻流中的時間戳信息提取視頻中的關(guān)鍵幀,如00 00 00、00 19 59、00 20 00、 00:39:59等時刻的幀作為關(guān)鍵幀。則在生成視頻文件時就以00:00:00 00:19:59、 00 20 00 00 39 59之間的音視頻流生成每段20分鐘的單個媒體文件(最后一段文件的 時間可能不足20分鐘),從而生成多個媒體文件。如果是基于文件大小的分割,用戶設(shè)置一定大小的視頻為一個文件,如100M,則參 數(shù)解析模塊310將解析結(jié)果傳輸給文件生成模塊320,文件生成模塊320則在生成媒體文件 時記錄音視頻流的大小,每100M生成一個媒體文件(最后一個文件的大小可能不足100M), 從而生成多個媒體文件。如果是基于場景的分割,參數(shù)解析模塊310將解析結(jié)果傳輸給文件生成模塊320, 文件生成模塊320處理場景檢測,在場景切換時作為文件的分割點。因為視頻場景的切換 會比較多,可以結(jié)合文件大小或者計數(shù)器進(jìn)行基于場景的分割。例如,結(jié)合文件大小基于場 景的分割為將文件限制在IOM內(nèi)的基于場景的分割,將分割點定在某一場景時,文件大小 在IOM以內(nèi),而再增加一個場景就會超過10M,此時該場景的結(jié)束點就可以定為分割點;又 如,結(jié)合計數(shù)器進(jìn)行基于場景的分割為每50個場景作為一個文件,則場景為50的整數(shù)倍的 場景的結(jié)束點可以作為分割點。場景的切換表示視頻文件內(nèi)容的變化較大,比如從室內(nèi)場 景切換到室外場景,在場景切換時作為分割點,不會使文件的分割顯得突兀,不至于視頻中 一個角色的話沒講完,文件就播放完畢,需要重新打開另一個文件接著播放上一個文件角 色未講完的話。文件生成模塊320根據(jù)上述方式確定的分割點將音視頻流打包組成媒體文件。后續(xù)處理模塊330對生成的每個媒體文件進(jìn)行額外的處理。包括選擇媒體文件存 儲、命名、建立播放指向等處理。文件存放位置可由用戶預(yù)先設(shè)定一個默認(rèn)的存儲文件夾,也可以在每生成一個媒體文件時詢問用戶由用戶自行選擇,還可以自動生成一個和源文件 同名的文件夾,將生成的多個媒體文件存放在該文件夾中。同樣命名可以是按照默認(rèn)的命 名規(guī)則,如源文件名加順序的后綴1、2、3等,也可以在用戶選擇存儲位置時進(jìn)行重命名。建 立播放指向是指在分割的視頻文件中設(shè)立指向下一個應(yīng)當(dāng)播放的媒體文件的信息,因為一 個視頻文件分成多個后,如果播放完一個文件,還需要手動打開另一個文件將導(dǎo)致使用不 便,通過上述指向信息,在播放器支持的情況下可以自動播放下一個媒體文件。因此本實施例中,根據(jù)上述的媒體文件轉(zhuǎn)碼系統(tǒng),對媒體文件轉(zhuǎn)碼時按照如下步 驟進(jìn)行處理SlO 接收源文件和設(shè)置用戶參數(shù)。源文件即是要進(jìn)行轉(zhuǎn)碼的文件,設(shè)置用戶參數(shù) 包括用于控制轉(zhuǎn)碼的參數(shù)和用于控制分割的參數(shù),控制轉(zhuǎn)碼的參數(shù)一般包括目標(biāo)文件的格 式、視頻分辨率、播放碼率等;控制分割的參數(shù)一般包括分割策略。S20 將源文件進(jìn)行音視頻流分離處理,得到音頻流和視頻流。由于視頻和音頻的 轉(zhuǎn)碼所進(jìn)行的處理完全不同,因此有必要將源文件的音頻流和視頻流進(jìn)行分離處理。S30 分別對音頻流和視頻流按照用戶設(shè)置的參數(shù)進(jìn)行轉(zhuǎn)碼。S40 對轉(zhuǎn)碼后的音頻流和視頻流進(jìn)行合成。S50 對用戶設(shè)置的參數(shù)進(jìn)行解析。這里主要是對控制分割的參數(shù)進(jìn)行解析,主要 是指對分割策略的解析,如分割策略為基于時間片的分割、基于文件大小的分割或基于場 景的分割。因此針對用戶設(shè)置的分割參數(shù),要對應(yīng)進(jìn)行不同的處理。S60 根據(jù)解析后的用戶參數(shù)進(jìn)行分割處理生成多個媒體文件。在得到處理參數(shù) 后,就可以將轉(zhuǎn)碼后的音視頻流按照既定的策略生成多個媒體文件。S70 對媒體文件進(jìn)行后續(xù)處理。后續(xù)處理一般包括文件存儲、命名或建立播放指 向。以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并 不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保 護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種媒體文件轉(zhuǎn)碼系統(tǒng),包括對源文件進(jìn)行格式轉(zhuǎn)換的轉(zhuǎn)碼模塊和用戶參數(shù)設(shè)置模 塊,其特征在于,還包括與所述轉(zhuǎn)碼模塊和用戶參數(shù)設(shè)置模塊連接,根據(jù)用戶參數(shù)將轉(zhuǎn)碼模 塊的輸出數(shù)據(jù)流進(jìn)行處理得到兩個以上媒體文件的拆分模塊。
2.如權(quán)利要求1所述的媒體文件轉(zhuǎn)碼系統(tǒng),其特征在于,所述拆分模塊包括參數(shù)解析 模塊、文件生成模塊以及后續(xù)處理模塊,所述參數(shù)解析模塊接收用戶設(shè)置的參數(shù)并解析后 傳遞給文件生成模塊,文件生成模塊根據(jù)解析后的參數(shù)生成符合要求的媒體文件,后續(xù)處 理模塊對生成的媒體文件進(jìn)行進(jìn)一步處理。
3.如權(quán)利要求2所述的媒體文件轉(zhuǎn)碼系統(tǒng),其特征在于,所述參數(shù)解析模塊進(jìn)行的處 理包括分割策略解析,所述分割策略包括基于時間片的分割、基于文件大小的分割以及基 于場景的分割。
4.如權(quán)利要求2所述的媒體文件轉(zhuǎn)碼系統(tǒng),其特征在于,所述后續(xù)處理模塊進(jìn)行的處 理包括文件存儲、文件命名或建立播放指向。
5.如權(quán)利要求1至4中任一項所述的媒體文件轉(zhuǎn)碼系統(tǒng),其特征在于,所述轉(zhuǎn)碼模塊包 括音視頻流分離模塊、視頻轉(zhuǎn)碼模塊、音頻轉(zhuǎn)碼模塊以及音視頻流合成模塊,音視頻流分離 模塊與視頻轉(zhuǎn)碼模塊和音頻轉(zhuǎn)碼模塊相連,視頻轉(zhuǎn)碼模塊和音頻轉(zhuǎn)碼模塊都與音視頻流合 成模塊連接,所述音視頻流分離模塊將源文件進(jìn)行處理得到分離的音頻流和視頻流,所述 視頻轉(zhuǎn)碼模塊和音頻轉(zhuǎn)碼模塊分別將視頻流和音頻流進(jìn)行轉(zhuǎn)碼,所述音視頻流合成模塊將 轉(zhuǎn)碼后的視頻流和音頻流進(jìn)行合成得到音視頻的輸出數(shù)據(jù)流。
6.一種媒體文件的轉(zhuǎn)碼方法,其特征在于,包括如下步驟接收源文件和讀取用戶參數(shù);對源文件按照用戶參數(shù)進(jìn)行格式轉(zhuǎn)換;對轉(zhuǎn)換后的源文件按照用戶參數(shù)進(jìn)行分割得到兩個以上媒體文件。
7.如權(quán)利要求7所述的媒體文件的轉(zhuǎn)碼方法,其特征在于,對源文件進(jìn)行格式轉(zhuǎn)換的 步驟包括將源文件進(jìn)行音視頻流分離處理,得到音頻流和視頻流;分別對音頻流和視頻流按照用戶參數(shù)進(jìn)行轉(zhuǎn)碼;對轉(zhuǎn)碼后的音頻流和視頻流進(jìn)行合成。
8.如權(quán)利要求7所述的媒體文件的轉(zhuǎn)碼方法,其特征在于,分割的步驟包括對用戶設(shè)置的參數(shù)進(jìn)行解析;根據(jù)解析后的用戶參數(shù)進(jìn)行分割處理生成兩個以上媒體文件;對媒體文件進(jìn)行后續(xù)處理。
9.如權(quán)利要求8所述的媒體文件的轉(zhuǎn)碼方法,其特征在于,用戶設(shè)置的參數(shù)包括分割 策略,所述分割策略為基于時間片的分割、基于文件大小的分割或基于場景的分割。
10.如權(quán)利要求8所述的媒體文件的轉(zhuǎn)碼方法,其特征在于,對媒體文件進(jìn)行的后續(xù)處 理包括文件存儲、文件命名或建立播放指向。
全文摘要
一種媒體文件轉(zhuǎn)碼系統(tǒng),屬于多媒體技術(shù)領(lǐng)域。該媒體文件轉(zhuǎn)碼系統(tǒng)包括對源文件進(jìn)行格式轉(zhuǎn)換的轉(zhuǎn)碼模塊、用戶參數(shù)設(shè)置模塊以及與所述轉(zhuǎn)碼模塊和用戶參數(shù)設(shè)置模塊連接,根據(jù)用戶參數(shù)將轉(zhuǎn)碼模塊的輸出數(shù)據(jù)流進(jìn)行處理得到多個媒體文件的拆分模塊。此外還提供一種媒體文件的轉(zhuǎn)碼方法。在傳統(tǒng)的轉(zhuǎn)碼系統(tǒng)中加入拆分模塊,可把一種格式的一個視頻文件轉(zhuǎn)換為另外一種格式的多個視頻文件,在轉(zhuǎn)碼不用完全完成的情況下,即可觀看先期完成的部分視頻,并且分割成的小文件也有利于在小容量的手持設(shè)備中播放,極大地方便用戶。
文檔編號H04N7/26GK102055965SQ20091019341
公開日2011年5月11日 申請日期2009年10月28日 優(yōu)先權(quán)日2009年10月28日
發(fā)明者陳敬昌 申請人:騰訊科技(深圳)有限公司