專利名稱:一種獲得轉(zhuǎn)碼后的目標(biāo)文件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種獲得轉(zhuǎn)碼后的目標(biāo)文件的方法和系統(tǒng)。
背景技術(shù):
隨著科學(xué)技術(shù)的發(fā)展,手持設(shè)備得到普及,而且手持設(shè)備的種類也越來(lái)越多,與此同時(shí)這些手持設(shè)備的運(yùn)算能力也越來(lái)越強(qiáng),很多高端手持設(shè)備都針對(duì)圖形圖像的處理作了單獨(dú)的優(yōu)化,使得多媒體娛樂(lè)功能逐漸完善。然而,手持設(shè)備存在的一個(gè)主要問(wèn)題是,對(duì)視頻格式有著嚴(yán)格的要求,例如,有些手持設(shè)備僅支持H264編碼格式。目前,為了能在手持設(shè)備上進(jìn)行視頻播放,目前通常的做法是用戶先在個(gè)人電腦(PC)上對(duì)視頻文件進(jìn)行轉(zhuǎn)碼,將視頻文件轉(zhuǎn)換成特定格式后,再在手持設(shè)備上進(jìn)行播放目 標(biāo)文件。其中,轉(zhuǎn)碼前的視頻文件可以稱為源文件,轉(zhuǎn)碼后的視頻文件可以稱為目標(biāo)文件。在PC上對(duì)視頻文件進(jìn)行轉(zhuǎn)碼一般需要較長(zhǎng)的時(shí)間,例如,一小時(shí)的影片可能需要40分鐘才能完成,而對(duì)于高清視頻文件來(lái)說(shuō),則長(zhǎng)達(dá)幾個(gè)小時(shí)。另外,在PC上對(duì)視頻文件進(jìn)行轉(zhuǎn)碼,對(duì)PC上資源的占用率也很高,影響PC對(duì)其他任務(wù)的處理速度??梢?jiàn),如何縮短獲得轉(zhuǎn)碼后的目標(biāo)文件所需的時(shí)間,是當(dāng)前亟待解決的一個(gè)技術(shù)問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種獲得轉(zhuǎn)碼后的目標(biāo)文件的方法和系統(tǒng),以便縮短獲得轉(zhuǎn)碼后的目標(biāo)文件所需的時(shí)間。本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種獲得轉(zhuǎn)碼后的目標(biāo)文件的方法,該方法包括將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù);并行執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和所述網(wǎng)絡(luò)側(cè)下載任務(wù),其中,通過(guò)執(zhí)行所述本地轉(zhuǎn)碼任務(wù),將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分,通過(guò)執(zhí)行所述網(wǎng)絡(luò)側(cè)下載任務(wù),下載所述目標(biāo)文件中除所述第一部分以外的其他部分;將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件。一種獲得轉(zhuǎn)碼后的目標(biāo)文件的系統(tǒng),該系統(tǒng)包括任務(wù)分配子系統(tǒng)、本地轉(zhuǎn)碼子系統(tǒng)、網(wǎng)絡(luò)側(cè)下載子系統(tǒng)和合成子系統(tǒng);所述任務(wù)分配子系統(tǒng),用于將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù);所述本地轉(zhuǎn)碼子系統(tǒng),用于將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分;所述網(wǎng)絡(luò)側(cè)下載子系統(tǒng),用于下載所述目標(biāo)文件中除所述第一部分以外的其他部分;所述合成子系統(tǒng),用于將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件;其中,所述本地轉(zhuǎn)碼子系統(tǒng)和所述網(wǎng)絡(luò)側(cè)下載子系統(tǒng)并行運(yùn)行。由上述技術(shù)方案可見(jiàn),本發(fā)明通過(guò)將獲得目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),并且通過(guò)并行執(zhí)行本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),獲得目標(biāo)文件的不同部分,將目標(biāo)文件的不同部分進(jìn)行合成得到完整的目標(biāo)文件,能夠縮短獲得目標(biāo)文件所需的時(shí)間。
圖I是本發(fā)明提供的獲得轉(zhuǎn)碼后的目標(biāo)文件的方法流程圖。 圖2是本發(fā)明提供的獲得轉(zhuǎn)碼后的目標(biāo)文件的系統(tǒng)組成示意圖。圖3是本地轉(zhuǎn)碼子系統(tǒng)202的組成示意圖。圖4是合成子系統(tǒng)204的組成示意圖。
具體實(shí)施例方式圖I是本發(fā)明提供的獲得轉(zhuǎn)碼后的目標(biāo)文件的方法流程圖。如圖I所示,該方法包括步驟101,根據(jù)將本地源文件轉(zhuǎn)碼為目標(biāo)文件所需的時(shí)間Tl、以及從網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件所需的時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。步驟102,并行執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和所述網(wǎng)絡(luò)側(cè)下載任務(wù)。本步驟中,通過(guò)執(zhí)行所述本地轉(zhuǎn)碼任務(wù),將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分,通過(guò)執(zhí)行所述網(wǎng)絡(luò)側(cè)下載任務(wù),下載所述目標(biāo)文件中除所述第一部分以外的其他部分。步驟103,將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件。由圖I可見(jiàn),本發(fā)明通過(guò)將獲得目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),并且并行執(zhí)行本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),實(shí)現(xiàn)了一邊轉(zhuǎn)碼一邊進(jìn)行下載,從而可以極大地縮短轉(zhuǎn)碼的時(shí)間,尤其對(duì)于高清視頻文件效果更加明顯,減少了用戶的等待時(shí)間。其中,可以根據(jù)本地的資源配置信息和資源占用信息估計(jì)時(shí)間Tl,根據(jù)網(wǎng)絡(luò)側(cè)的資源占用信息和網(wǎng)絡(luò)帶寬信息估計(jì)時(shí)間T2。作為一種較佳方式,可以將所述第一部分占所述目標(biāo)文件的比例al確定為T2/(T1+T2),將所述第一部分以外的其他部分占所述目標(biāo)文件的比例a2確定為T1/(T1+T2),根據(jù)al和a2將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。從理論上講,按照al為T2/ (T1+T2)、且a2為Tl/ (T1+T2)的比例劃分任務(wù),能夠使獲得目標(biāo)文件所需的總時(shí)間最少,假如一個(gè)120分鐘的視頻,本地轉(zhuǎn)碼需要90分鐘,離線下載需要60分鐘,則al = O. 4,a2 = O. 6,即對(duì)視頻文件的前48分鐘進(jìn)行本地轉(zhuǎn)碼,對(duì)視頻文件后面的72分鐘視頻進(jìn)行離線下載,獲得目標(biāo)文件總共僅需要36分鐘。本發(fā)明也可以采用其他方法將獲得目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),例如,將目標(biāo)文件等分為2份分別進(jìn)行本地轉(zhuǎn)碼和網(wǎng)絡(luò)側(cè)下載,即將al和a2均設(shè)為O. 5。由于將本地轉(zhuǎn)碼得到的目標(biāo)文件第一部分與網(wǎng)絡(luò)側(cè)下載得到的目標(biāo)文件其他部分進(jìn)行合成也需要一定的時(shí)間,為了進(jìn)一步優(yōu)化獲得目標(biāo)文件的流程,還可以根據(jù)時(shí)間Tl和時(shí)間T2的差別大小,決定是否將獲得目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),具體地可以計(jì)算時(shí)間Tl減去時(shí)間T2的差值T3,在時(shí)間T3大于預(yù)設(shè)正數(shù)時(shí),從網(wǎng)絡(luò)側(cè)下 載所述目標(biāo)文件的所有部分,在時(shí)間T3小于預(yù)設(shè)負(fù)數(shù)時(shí),在本地將源文件的全部轉(zhuǎn)碼為目標(biāo)文件,在時(shí)間T3不大于所述預(yù)設(shè)正數(shù)、且不小于所述預(yù)設(shè)負(fù)數(shù)時(shí),將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。其中的預(yù)設(shè)正數(shù)和預(yù)設(shè)負(fù)數(shù),可以是預(yù)設(shè)的具體數(shù)值,也可以是根據(jù)預(yù)設(shè)公式進(jìn)行計(jì)算等預(yù)設(shè)方法所確定出的數(shù)值。圖I所示方法中的源文件和目標(biāo)文件一般為影音文件。圖I所示方法中,在劃分任務(wù)之前,接收需要轉(zhuǎn)碼的源文件信息以及本地的設(shè)備型號(hào)信息,根據(jù)所述設(shè)備型號(hào)信息生成轉(zhuǎn)碼參數(shù),所述轉(zhuǎn)碼參數(shù)可以包括目標(biāo)文件格式信息。其中,所述源文件信息和所述設(shè)備型號(hào)信息一般由用戶輸入。執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和所述網(wǎng)絡(luò)側(cè)下載任務(wù)包括根據(jù)所述源文件信息確定需要進(jìn)行所述轉(zhuǎn)碼的源文件,根據(jù)所述轉(zhuǎn)碼參數(shù)將源文件的一部分進(jìn)行轉(zhuǎn)碼,得到目標(biāo)文件的第一部分;根據(jù)所述源文件信息和所述轉(zhuǎn)碼參數(shù),從網(wǎng)絡(luò)側(cè)查找目標(biāo)文件,如果查找到所述目標(biāo)文件,從所述網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件中除所述第一部分以外的其他部分。其中,如果在網(wǎng)絡(luò)側(cè)沒(méi)有查找到目標(biāo)文件,則可以有多種處理方式,例如,向網(wǎng)絡(luò)側(cè)發(fā)起轉(zhuǎn)碼任務(wù),網(wǎng)絡(luò)側(cè)將源文件轉(zhuǎn)碼為目標(biāo)文件之后,將目標(biāo)文件下載到本地,或者,提示用戶在網(wǎng)絡(luò)側(cè)沒(méi)有找到目標(biāo)文件,因此需要通過(guò)本地轉(zhuǎn)碼獲得目標(biāo)文件的所有部分。其中,在執(zhí)行網(wǎng)絡(luò)側(cè)下載任務(wù)時(shí),一般從網(wǎng)絡(luò)側(cè)的資源庫(kù)中離線下載目標(biāo)文件。所述資源庫(kù)中存儲(chǔ)有源文件、轉(zhuǎn)碼配置信息和目標(biāo)文件??梢酝ㄟ^(guò)如下方式中的任意一種或多種建立所述資源庫(kù)方式一資源庫(kù)接收并存儲(chǔ)用戶上傳的源文件、轉(zhuǎn)碼參數(shù)以及轉(zhuǎn)碼后的目標(biāo)文件。方式二,在資源庫(kù)中沒(méi)有查找到用戶需要下載的目標(biāo)文件時(shí),網(wǎng)絡(luò)側(cè)提示用戶是否發(fā)起轉(zhuǎn)碼任務(wù),如果用戶發(fā)起轉(zhuǎn)碼任務(wù),則網(wǎng)絡(luò)側(cè)根據(jù)接收的源文件信息和轉(zhuǎn)碼參數(shù),對(duì)所述源文件進(jìn)行轉(zhuǎn)碼,在所述資源庫(kù)中存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件。方式三,網(wǎng)絡(luò)側(cè)定時(shí)執(zhí)行轉(zhuǎn)碼任務(wù),將源文件按照預(yù)設(shè)的轉(zhuǎn)碼參數(shù)轉(zhuǎn)換為目標(biāo)文件,在所述資源庫(kù)中存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件。在并行執(zhí)行本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)時(shí),執(zhí)行所述本地轉(zhuǎn)碼任務(wù)具體可以包括將所述源文件分解為視頻流和音頻流,對(duì)所述視頻流進(jìn)行轉(zhuǎn)碼,得到轉(zhuǎn)碼后的第一視頻流,對(duì)所述音頻流進(jìn)行轉(zhuǎn)碼,得到轉(zhuǎn)碼后的第一音頻流,合成轉(zhuǎn)換后的視頻流和轉(zhuǎn)碼后的音頻流,得到轉(zhuǎn)碼后的目標(biāo)文件的第一部分。
在并行執(zhí)行本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)時(shí),執(zhí)行網(wǎng)絡(luò)側(cè)下載任務(wù)具體可以包括從網(wǎng)絡(luò)側(cè)的資源庫(kù)中,離線下載所述目標(biāo)文件中除所述第一部分以外的其他部分,將所述目標(biāo)文件中除所述第一部分以外的其他部分存儲(chǔ)到本地。將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并具體可以包括將所述目標(biāo)文件的第一部分分解為第一視頻流和第一音頻流,將所述第一部分以外的其他部分分解為第二視頻流和第二音頻流,將所述第一視頻流和第二視頻流分別進(jìn)行解碼,將解碼后的第一視頻流和第二視頻流進(jìn)行合并得到完整的目標(biāo)文件視頻流,將所述第一音頻流和第二音頻流分別進(jìn)行解碼,將解碼后的第一音頻流和第二音頻流進(jìn)行合并得到完整的目標(biāo)文件音頻流,將所述完整的目標(biāo)文件視頻流和所述完整的目標(biāo)文件音頻流進(jìn)行合成,得到所述目標(biāo)文件??梢?jiàn),通過(guò)圖I所示方法,只要用戶指定期望的目標(biāo)設(shè)備的型號(hào),并且選擇需要進(jìn) 行轉(zhuǎn)碼的本地文件,本發(fā)明即可通過(guò)將任務(wù)劃分成本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),并行執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù),實(shí)現(xiàn)一邊轉(zhuǎn)碼一邊下載,最后將轉(zhuǎn)碼結(jié)果和下載結(jié)果進(jìn)行合成,即可得到所需要的目標(biāo)文件,有效地解決了本地轉(zhuǎn)碼時(shí)間過(guò)長(zhǎng)的問(wèn)題,快速地滿足用戶在手持設(shè)備上的影音播放需求。本發(fā)明還提供了一種獲得轉(zhuǎn)碼后的目標(biāo)文件的系統(tǒng),具體請(qǐng)參見(jiàn)圖2。圖2是本發(fā)明提供的獲得轉(zhuǎn)碼后的目標(biāo)文件的系統(tǒng)組成示意圖。如圖2所不,該系統(tǒng)包括任務(wù)分配子系統(tǒng)201、本地轉(zhuǎn)碼子系統(tǒng)202、網(wǎng)絡(luò)側(cè)下載子系統(tǒng)203和合成子系統(tǒng)204。任務(wù)分配子系統(tǒng)201,用于根據(jù)將本地源文件轉(zhuǎn)碼為目標(biāo)文件所需的時(shí)間Tl、以及從網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件所需的時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。本地轉(zhuǎn)碼子系統(tǒng)202,用于將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分。網(wǎng)絡(luò)側(cè)下載子系統(tǒng)203,用于下載所述目標(biāo)文件中除所述第一部分以外的其他部分。合成子系統(tǒng)204,用于將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件。其中,本地轉(zhuǎn)碼子系統(tǒng)202和網(wǎng)絡(luò)側(cè)下載子系統(tǒng)203并行運(yùn)行。由圖2可見(jiàn),本發(fā)明提供的獲得目標(biāo)文件的系統(tǒng)主要包括四個(gè)子系統(tǒng),其中的任務(wù)分配子系統(tǒng)主要負(fù)責(zé)獲得目標(biāo)文件的任務(wù)的再劃分,如果用戶選擇轉(zhuǎn)碼的本地文件以及轉(zhuǎn)碼方式在網(wǎng)絡(luò)側(cè)的資源庫(kù)中都已經(jīng)存在,則將獲得目標(biāo)文件的任務(wù)分成兩個(gè)部分,一部分由本地轉(zhuǎn)碼子系統(tǒng)進(jìn)行本地文件轉(zhuǎn)碼,另一部分則通過(guò)網(wǎng)絡(luò)側(cè)下載子系統(tǒng)下載相應(yīng)文件的其余部分,然后通過(guò)合成子系統(tǒng)將本地轉(zhuǎn)碼的部分和網(wǎng)絡(luò)側(cè)下載的部分進(jìn)行合并輸出,從而獲得目標(biāo)文件。下面對(duì)圖2所示系統(tǒng)的各個(gè)部分進(jìn)行詳細(xì)介紹。其中的任務(wù)分配子系統(tǒng)201可以包括時(shí)間評(píng)估模塊和任務(wù)劃分模塊。所述時(shí)間評(píng)估模塊,用于根據(jù)本地的資源配置信息和資源占用信息估計(jì)時(shí)間Tl,根據(jù)網(wǎng)絡(luò)側(cè)的資源占用信息和網(wǎng)絡(luò)帶寬信息估計(jì)時(shí)間T2。
所述任務(wù)劃分模塊,用于根據(jù)時(shí)間Tl和時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。所述任務(wù)劃分模塊,可以用于將所述第一部分占所述目標(biāo)文件的比例al確定為T2/(T1+T2),將所述第一部分以外的其他部分占所述目標(biāo)文件的比例a2確定為Tl/(T1+T2),根據(jù)al和a2將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。所述源文件和所述目標(biāo)文件一般為影音文件。圖3是本地轉(zhuǎn)碼子系統(tǒng)202的組成示意圖。如圖3所示,所述本地轉(zhuǎn)碼子系統(tǒng)包括轉(zhuǎn)碼參數(shù)生成模塊301、音視頻流分離模塊302、音頻解碼模塊303、視頻解碼模塊304、音頻編碼模塊305、視頻編碼模塊306和音視頻流合成模塊307。 轉(zhuǎn)碼參數(shù)生成模塊301,接收需要轉(zhuǎn)碼的源文件信息以及本地的設(shè)備型號(hào)信息,根據(jù)所述設(shè)備型號(hào)信息生成轉(zhuǎn)碼參數(shù),所述轉(zhuǎn)碼參數(shù)可以包括目標(biāo)文件格式信息。音視頻流分離模塊302,用于將所述源文件的一部分分離成壓縮音頻流和壓縮視頻流,將分離出的壓縮音頻流輸出到音頻解碼模塊303,將分離出的壓縮視頻流輸出到視頻解碼模塊304。音頻解碼模塊303,用于將接收的壓縮音頻流解碼成原始音頻流,將該原始音頻流輸出給音頻編碼模塊305。視頻解碼模塊304,用于將接收的壓縮視頻流解碼成原始視頻流,將該原始視頻流輸出給視頻編碼模塊306。音頻編碼模塊305,用于根據(jù)所述轉(zhuǎn)碼參數(shù),將接收的原始音頻流編碼成目標(biāo)文件的壓縮音頻流,將目標(biāo)文件的壓縮音頻流輸出給音視頻流合成模塊307。視頻編碼模塊306,用于根據(jù)所述轉(zhuǎn)碼參數(shù),將接收的原始視頻流編碼成目標(biāo)文件的壓縮視頻流,將目標(biāo)文件的壓縮視頻流輸出給音視頻流合成模塊307。音視頻流合成模塊307,用于將接收的壓縮音頻流和目標(biāo)文件的壓縮視頻流合成所述目標(biāo)文件的第一部分。其中的網(wǎng)絡(luò)側(cè)下載模塊203可以包括資源庫(kù)文件匹配模塊和離線下載模塊。所述資源庫(kù)文件匹配模塊,用于接收源文件標(biāo)識(shí)信息和轉(zhuǎn)碼參數(shù),根據(jù)所述源文件標(biāo)識(shí)信息和轉(zhuǎn)碼參數(shù)查詢資源庫(kù)中是否存在所述目標(biāo)文件,在資源庫(kù)中存在所述目標(biāo)文件時(shí),向所述離線下載模塊發(fā)送下載指示。所述離線下載模塊,用于將所述目標(biāo)文件從所述資源庫(kù)下載到所述本地。圖4是合成子系統(tǒng)204的組成示意圖。如圖4所示,合成子系統(tǒng)204包括音視頻流分離模塊401、音頻解碼模塊402、視頻解碼模塊403和音視頻流合成模塊404。音視頻流分離模塊401,用于將所述目標(biāo)文件的第一部分分解成第一音頻流和第一視頻流,將所述目標(biāo)文件除所述第一部分以外的其他部分分解成第二音頻流和第二視頻流。音頻解碼模塊402,用于將所述第一音頻流和所述第二音頻流分別解碼為第一原始音頻流和第二原始音頻流。
視頻解碼模塊403,用于將所述第二視頻流和所述第二視頻流分別解碼為第一原始視頻流和第二原始視頻流。音視頻流合成模塊404,用于將第一原始音頻流和第二原始音頻流合并成目標(biāo)文件的音頻流,將第一原始視頻流和第二原始視頻流合并成目標(biāo)文件的視頻流,將目標(biāo)文件的音頻流和目標(biāo)文件的視頻流合成為所述目標(biāo)文件。在圖4所示系統(tǒng)中,設(shè)置有兩個(gè)音視頻流分離模塊401、兩個(gè)音頻解碼模塊402和兩個(gè)視頻解碼模塊403,分別用于對(duì)本地轉(zhuǎn)碼完成的影音文件片段和網(wǎng)絡(luò)側(cè)下載完成的影音文件片段進(jìn)行音視頻流分離、音頻流解碼或視頻流解碼,在實(shí)際應(yīng)用中,可以在物理上設(shè)置一個(gè)音視頻流分離模塊401、一個(gè)音頻解碼模塊402和一個(gè)視頻解碼模塊403,音視頻流分離模塊401、音頻解碼模塊402和視頻解碼模塊403在工作時(shí),對(duì)本地轉(zhuǎn)碼完成的影音文件片段和網(wǎng)絡(luò)側(cè)下載完成的影音文件片段分別進(jìn)行音視頻流分離、音頻解碼以及視頻解碼。
圖2所示系統(tǒng)還可以包括資源庫(kù),所述資源庫(kù),用于接收并存儲(chǔ)用戶上傳的源文件、轉(zhuǎn)碼參數(shù)以及轉(zhuǎn)碼后的目標(biāo)文件;和/或,在資源庫(kù)中沒(méi)有查找到用戶需要下載的目標(biāo)文件時(shí),網(wǎng)絡(luò)側(cè)提示用戶是否發(fā)起轉(zhuǎn)碼任務(wù),如果用戶發(fā)起轉(zhuǎn)碼任務(wù),根據(jù)接收的源文件信息和轉(zhuǎn)碼參數(shù),對(duì)所述源文件進(jìn)行轉(zhuǎn)碼,在所述資源庫(kù)中存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件;和/或,網(wǎng)絡(luò)側(cè)定時(shí)執(zhí)行轉(zhuǎn)碼任務(wù),將源文件按照預(yù)設(shè)的轉(zhuǎn)碼參數(shù)轉(zhuǎn)換為目標(biāo)文件,在所述資源庫(kù)中存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種獲得轉(zhuǎn)碼后的目標(biāo)文件的方法,其特征在于,該方法包括 根據(jù)將本地源文件轉(zhuǎn)碼為目標(biāo)文件所需的時(shí)間Tl、以及從網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件所需的時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù); 并行執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和所述網(wǎng)絡(luò)側(cè)下載任務(wù),其中,通過(guò)執(zhí)行所述本地轉(zhuǎn)碼任務(wù),將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分,通過(guò)執(zhí)行所述網(wǎng)絡(luò)側(cè)下載任務(wù),下載所述目標(biāo)文件中除所述第一部分以外的其他部分; 將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)包括 根據(jù)將本地源文件轉(zhuǎn)碼為目標(biāo)文件所需的時(shí)間Tl、以及從網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件所需的時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法還包括 根據(jù)本地的資源配置信息和資源占用信息估計(jì)時(shí)間Tl,根據(jù)網(wǎng)絡(luò)側(cè)的資源占用信息和網(wǎng)絡(luò)帶寬信息估計(jì)時(shí)間T2。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)包括 將所述第一部分占所述目標(biāo)文件的比例al確定為T2/(T1+T2),將所述第一部分以外的其他部分占所述目標(biāo)文件的比例a2確定為Tl/ (T1+T2),根據(jù)al和a2將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述源文件和所述目標(biāo)文件為影音文件,執(zhí)行所述本地轉(zhuǎn)碼任務(wù)包括 將所述源文件分解為視頻流和音頻流,對(duì)所述視頻流進(jìn)行轉(zhuǎn)碼,得到轉(zhuǎn)碼后的第一視頻流,對(duì)所述音頻流進(jìn)行轉(zhuǎn)碼,得到轉(zhuǎn)碼后的第一音頻流,合成轉(zhuǎn)換后的視頻流和轉(zhuǎn)碼后的音頻流,得到轉(zhuǎn)碼后的目標(biāo)文件的第一部分。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并包括 將所述目標(biāo)文件的第一部分分解為第一視頻流和第一音頻流,將所述第一部分以外的其他部分分解為第二視頻流和第二音頻流,將所述第一視頻流和第二視頻流分別進(jìn)行解碼,將解碼后的第一視頻流和第二視頻流進(jìn)行合并得到完整的目標(biāo)文件視頻流,將所述第一音頻流和第二音頻流分別進(jìn)行解碼,將解碼后的第一音頻流和第二音頻流進(jìn)行合并得到完整的目標(biāo)文件音頻流,將所述完整的目標(biāo)文件視頻流和所述完整的目標(biāo)文件音頻流進(jìn)行合成,得到所述目標(biāo)文件。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法還包括 計(jì)算時(shí)間Tl減去時(shí)間T2的差值T3,在時(shí)間T3大于預(yù)設(shè)正數(shù)時(shí),從網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件的所有部分,在時(shí)間T3小于預(yù)設(shè)負(fù)數(shù)時(shí),在本地將源文件的全部轉(zhuǎn)碼為目標(biāo)文件,在時(shí)間T3不大于所述預(yù)設(shè)正數(shù)、且不小于所述預(yù)設(shè)負(fù)數(shù)時(shí),將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。
8.根據(jù)權(quán)利要求I所述的方法,其特征在于,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)之前,該方法還包括 接收需要轉(zhuǎn)碼的源文件信息以及本地的設(shè)備型號(hào)信息,根據(jù)所述設(shè)備型號(hào)信息生成轉(zhuǎn)碼參數(shù); 執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和所述網(wǎng)絡(luò)側(cè)下載任務(wù)包括 根據(jù)所述源文件信息確定需要進(jìn)行所述轉(zhuǎn)碼的源文件,根據(jù)所述轉(zhuǎn)碼參數(shù)將源文件的一部分進(jìn)行轉(zhuǎn)碼,得到目標(biāo)文件的第一部分; 根據(jù)所述源文件信息和所述轉(zhuǎn)碼參數(shù),從網(wǎng)絡(luò)側(cè)查找目標(biāo)文件,如果查找到所述目標(biāo)文件,從所述網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件中除所述第一部分以外的其他部分。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,從所述網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件中除所述第一部分以外的其他部分包括 從網(wǎng)絡(luò)側(cè)的資源庫(kù)中,離線下載所述目標(biāo)文件中除所述第一部分以外的其他部分,將所述目標(biāo)文件中除所述第一部分以外的其他部分存儲(chǔ)到本地。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,該方法還包括 資源庫(kù)接收并存儲(chǔ)用戶上傳的源文件、轉(zhuǎn)碼參數(shù)以及轉(zhuǎn)碼后的目標(biāo)文件; 和/或,在資源庫(kù)中沒(méi)有查找到用戶需要下載的目標(biāo)文件時(shí),網(wǎng)絡(luò)側(cè)提示用戶是否發(fā)起轉(zhuǎn)碼任務(wù),如果用戶發(fā)起轉(zhuǎn)碼任務(wù),則網(wǎng)絡(luò)側(cè)根據(jù)接收的源文件信息和轉(zhuǎn)碼參數(shù),對(duì)所述源文件進(jìn)行轉(zhuǎn)碼,在所述資源庫(kù)中存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件; 和/或,網(wǎng)絡(luò)側(cè)定時(shí)執(zhí)行轉(zhuǎn)碼任務(wù),將源文件按照預(yù)設(shè)的轉(zhuǎn)碼參數(shù)轉(zhuǎn)換為目標(biāo)文件,在所述資源庫(kù)中存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件。
11.一種獲得轉(zhuǎn)碼后的目標(biāo)文件的系統(tǒng),其特征在于,該系統(tǒng)包括任務(wù)分配子系統(tǒng)、本地轉(zhuǎn)碼子系統(tǒng)、網(wǎng)絡(luò)側(cè)下載子系統(tǒng)和合成子系統(tǒng); 所述任務(wù)分配子系統(tǒng),用于將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù); 所述本地轉(zhuǎn)碼子系統(tǒng),用于將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分; 所述網(wǎng)絡(luò)側(cè)下載子系統(tǒng),用于下載所述目標(biāo)文件中除所述第一部分以外的其他部分;所述合成子系統(tǒng),用于將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件; 其中,所述本地轉(zhuǎn)碼子系統(tǒng)和所述網(wǎng)絡(luò)側(cè)下載子系統(tǒng)并行運(yùn)行。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于, 所述任務(wù)分配子系統(tǒng),用于根據(jù)將本地源文件轉(zhuǎn)碼為目標(biāo)文件所需的時(shí)間Tl、以及從網(wǎng)絡(luò)側(cè)下載所述目標(biāo)文件所需的時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述任務(wù)分配子系統(tǒng)包括時(shí)間評(píng)估模塊和任務(wù)劃分模塊; 所述時(shí)間評(píng)估模塊,用于根據(jù)本地的資源配置信息和資源占用信息估計(jì)時(shí)間Tl,根據(jù)網(wǎng)絡(luò)側(cè)的資源占用信息和網(wǎng)絡(luò)帶寬信息估計(jì)時(shí)間T2 ; 所述任務(wù)劃分模塊,用于根據(jù)時(shí)間Tl和時(shí)間T2,將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于, 所述任務(wù)劃分模塊,用于將所述第一部分占所述目標(biāo)文件的比例al確定為T2/(T1+T2),將所述第一部分以外的其他部分占所述目標(biāo)文件的比例a2確定為T1/(T1+T2),根據(jù)al和a2將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù)。
15.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述源文件和所述目標(biāo)文件為影音文件,所述本地轉(zhuǎn)碼子系統(tǒng)包括轉(zhuǎn)碼參數(shù)生成模塊、音視頻流分離模塊、音頻解碼模塊、視頻解碼模塊、音頻編碼模塊、視頻編碼模塊和音視頻流合成模塊; 所述轉(zhuǎn)碼參數(shù)生成模塊,接收需要轉(zhuǎn)碼的源文件信息以及本地的設(shè)備型號(hào)信息,根據(jù)所述設(shè)備型號(hào)信息生成轉(zhuǎn)碼參數(shù); 所述音視頻流分離模塊,用于將所述源文件的一部分分離成壓縮音頻流和壓縮視頻流,將分離出的壓縮音頻流輸出到音頻解碼模塊,將分離出的壓縮視頻流輸出到視頻解碼模塊; 所述音頻解碼模塊,用于將接收的壓縮音頻流解碼成原始音頻流,將該原始音頻流輸出給音頻編碼模塊; 所示視頻解碼模塊,用于將接收的壓縮視頻流解碼成原始視頻流,將該原始視頻流輸出給視頻編碼模塊; 所述音頻編碼模塊,用于根據(jù)所述轉(zhuǎn)碼參數(shù),將接收的原始音頻流編碼成目標(biāo)文件的壓縮音頻流,將目標(biāo)文件的壓縮音頻流輸出給音視頻流合成模塊; 所述視頻編碼模塊,用于根據(jù)所述轉(zhuǎn)碼參數(shù),將接收的原始視頻流編碼成目標(biāo)文件的壓縮視頻流,將目標(biāo)文件的壓縮視頻流輸出給音視頻流合成模塊; 所述音視頻流合成模塊,用于將接收的壓縮音頻流和目標(biāo)文件的壓縮視頻流合成所述目標(biāo)文件的第一部分。
16.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)側(cè)下載模塊包括資源庫(kù)文件匹配模塊和離線下載模塊; 所述資源庫(kù)文件匹配模塊,用于接收源文件標(biāo)識(shí)信息和轉(zhuǎn)碼參數(shù),根據(jù)所述源文件標(biāo)識(shí)信息和轉(zhuǎn)碼參數(shù)查詢資源庫(kù)中是否存在所述目標(biāo)文件,在資源庫(kù)中存在所述目標(biāo)文件時(shí),向所述離線下載模塊發(fā)送下載指示; 所述離線下載模塊,用于將所述目標(biāo)文件從所述資源庫(kù)下載到所述本地。
17.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述合成子系統(tǒng)包括音視頻流分離模塊、音頻解碼模塊、視頻解碼模塊和音視頻流合成模塊; 所述音視頻流分離模塊,用于將所述目標(biāo)文件的第一部分分解成第一音頻流和第一視頻流,將所述目標(biāo)文件除所述第一部分以外的其他部分分解成第二音頻流和第二視頻流;所述音頻解碼模塊,用于將所述第一音頻流和所述第二音頻流分別解碼為第一原始音頻流和第二原始音頻流; 所述視頻解碼模塊,用于將所述第二視頻流和所述第二視頻流分別解碼為第一原始視頻流和第二原始視頻流; 所述音視頻流合成模塊,用于將第一原始音頻流和第二原始音頻流合并成目標(biāo)文件的音頻流,將第一原始視頻流和第二原始視頻流合并成目標(biāo)文件的視頻流,將目標(biāo)文件的音頻流和目標(biāo)文件的視頻流合成為所述目標(biāo)文件。
18.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述獲得轉(zhuǎn)碼后的目標(biāo)文件的系統(tǒng)還包括資源庫(kù); 所述資源庫(kù),用于接收并存儲(chǔ)用戶上傳的源文件、轉(zhuǎn)碼參數(shù)以及轉(zhuǎn)碼后的目標(biāo)文件;和/或,在資源庫(kù)中沒(méi)有查找到用戶需要下載的目標(biāo)文件時(shí),提示用戶是否發(fā)起轉(zhuǎn)碼任務(wù),如果用戶發(fā)起轉(zhuǎn)碼任務(wù),根據(jù)接收的源文件信息和轉(zhuǎn)碼參數(shù),對(duì)所述源文件進(jìn)行轉(zhuǎn)碼,存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件;和/或,網(wǎng)絡(luò)側(cè)定時(shí)執(zhí)行轉(zhuǎn)碼任務(wù),將源文件按照預(yù)設(shè)的轉(zhuǎn)碼參數(shù)轉(zhuǎn)換為目標(biāo)文件,存儲(chǔ)所述源文件、轉(zhuǎn)碼參數(shù)和轉(zhuǎn)碼后的目標(biāo)文件。
全文摘要
本發(fā)明實(shí)施例公開了一種獲得轉(zhuǎn)碼后的目標(biāo)文件的方法和系統(tǒng)。該方法包括將獲得所述目標(biāo)文件的任務(wù)劃分為本地轉(zhuǎn)碼任務(wù)和網(wǎng)絡(luò)側(cè)下載任務(wù);并行執(zhí)行所述本地轉(zhuǎn)碼任務(wù)和所述網(wǎng)絡(luò)側(cè)下載任務(wù),其中,通過(guò)執(zhí)行所述本地轉(zhuǎn)碼任務(wù),將所述源文件的一部分進(jìn)行所述轉(zhuǎn)碼,得到所述目標(biāo)文件的第一部分,通過(guò)執(zhí)行所述網(wǎng)絡(luò)側(cè)下載任務(wù),下載所述目標(biāo)文件中除所述第一部分以外的其他部分;將所述第一部分和所述第一部分以外的其他部分進(jìn)行合并,得到完整的所述目標(biāo)文件。應(yīng)用本發(fā)明能夠縮短獲得轉(zhuǎn)碼后的目標(biāo)文件所需的時(shí)間。
文檔編號(hào)H04L29/08GK102868708SQ20111018504
公開日2013年1月9日 申請(qǐng)日期2011年7月4日 優(yōu)先權(quán)日2011年7月4日
發(fā)明者劉俊, 王川南 申請(qǐng)人:騰訊科技(深圳)有限公司