對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明的實(shí)施方式提供了一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法。該方法包括:a)將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件;b)對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段;c)分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理;d)將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件;e)、將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。本發(fā)明的方法可以避免轉(zhuǎn)碼文件出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。此外,本發(fā)明的另一方面提供了一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備。
【專利說明】對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施方式涉及圖像處理【技術(shù)領(lǐng)域】,更具體地,本發(fā)明的實(shí)施方式涉及對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法和設(shè)備。
【背景技術(shù)】
[0002]本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實(shí)施方式提供背景或上下文。此處的描述可包括可以探究的概念,但不一定是之前已經(jīng)想到或者已經(jīng)探究的概念。因此,除非在此指出,否則在本部分中描述的內(nèi)容對于本申請的說明書和權(quán)利要求書而言不是現(xiàn)有技術(shù),并且并不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)。
[0003]多媒體轉(zhuǎn)碼就是指將已經(jīng)壓縮編碼的多媒體碼流轉(zhuǎn)換成另一個(gè)多媒體碼流,以適應(yīng)不同的網(wǎng)絡(luò)帶寬、不同的終端處理能力或不同的用戶需求。轉(zhuǎn)碼本質(zhì)上就是一個(gè)先解碼,再編碼的過程。其中,多媒體源文件包括音頻源文件、視頻源文件、音視頻源文件或者圖像源文件等多種形式。
[0004]傳統(tǒng)的多媒體轉(zhuǎn)碼對源文件不進(jìn)行切片,而是直接進(jìn)行轉(zhuǎn)碼。但是,考慮到直接轉(zhuǎn)碼的轉(zhuǎn)碼效率較低,特別是對于視頻源文件或者音視頻源文件這種數(shù)據(jù)量較大的文件,轉(zhuǎn)碼效率低的問題就會更加明顯。并且,源文件越大,轉(zhuǎn)碼效率就越低。因此,針對視頻源文件或者音視頻源文件,改進(jìn)的多媒體轉(zhuǎn)碼會先對源文件進(jìn)行切片,然后同時(shí)分別對切片后所獲得的多個(gè)文件片段進(jìn)行轉(zhuǎn)碼,最后將轉(zhuǎn)碼后的多個(gè)文件片段合片成一個(gè)文件,從而最終獲得一個(gè)轉(zhuǎn)碼文件。
【發(fā)明內(nèi)容】
[0005]但是,本發(fā)明人在研究過程中發(fā)現(xiàn),當(dāng)采用改進(jìn)的轉(zhuǎn)碼方法對音視頻源文件進(jìn)行轉(zhuǎn)碼處理時(shí),轉(zhuǎn)碼文件會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
[0006]另外,本發(fā)明人在研究過程中還發(fā)現(xiàn),當(dāng)采用改進(jìn)的轉(zhuǎn)碼方法對音視頻源文件或者視頻源文件進(jìn)行轉(zhuǎn)碼處理時(shí),采用的切片方式通常都是在時(shí)間上對源文件進(jìn)行切割,即,預(yù)先設(shè)定一個(gè)時(shí)間段,將播放時(shí)長為該時(shí)間段的文件片段作為參考切片單位,當(dāng)采用該切片參考單位進(jìn)行切片后,如果剩余視頻文件中的第一個(gè)視頻幀是關(guān)鍵幀(如,I幀)即完成一次有效切片,并繼續(xù)下一次切片;如果剩余視頻文件中的第一個(gè)視頻幀不是關(guān)鍵幀,還需要再以該視頻幀為基準(zhǔn),進(jìn)一步向前后向后重新查找與該視頻幀距離最近的關(guān)鍵幀,并在查找到的關(guān)鍵幀前進(jìn)行切片,從而保證每一個(gè)文件片段的第一個(gè)視頻幀為關(guān)鍵幀(在某些情況下,第一個(gè)文件片段的第一個(gè)視頻幀可能不是關(guān)鍵幀)。
[0007]依照現(xiàn)有技術(shù),對源文件進(jìn)行切片后,雖然視頻文件片段的第一個(gè)視頻幀為關(guān)鍵幀,從而保證位于該關(guān)鍵幀后面的非關(guān)鍵幀可以參考該關(guān)鍵幀進(jìn)行正常解碼,但是,對于每相鄰的兩個(gè)文件片段,在前一個(gè)文件片段中也有可能存在一些位于切割邊界處的非關(guān)鍵幀在轉(zhuǎn)碼處理時(shí)需要參考后一個(gè)文件片段的關(guān)鍵幀進(jìn)行解碼或者參考包括后一個(gè)文件片段的關(guān)鍵幀在內(nèi)的多個(gè)關(guān)鍵幀進(jìn)行解碼,因此,由于缺少參考的關(guān)鍵幀,在前一個(gè)文件片段中一些非關(guān)鍵幀可能會存在無法正常解碼的問題。最終導(dǎo)致轉(zhuǎn)碼文件在切割邊界處可能會出現(xiàn)圖像失真或模糊、甚至是圖像丟失的問題。
[0008]為此,非常需要一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法和設(shè)備,以解決現(xiàn)有技術(shù)中的轉(zhuǎn)碼文件會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
[0009]另外,還需要解決現(xiàn)有技術(shù)中的轉(zhuǎn)碼文件在切割邊界處可能會出現(xiàn)圖像失真或模糊,甚至是圖像丟失的問題。
[0010]在本上下文中,本發(fā)明的實(shí)施方式期望提供一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法和設(shè)備。
[0011]在本發(fā)明實(shí)施方式的第一方面中,提供了一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法,包括:
[0012]a)、將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件;
[0013]b)、對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段;
[0014]c)、分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理;
[0015]d)、將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件;
[0016]e)、將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。
[0017]在本發(fā)明實(shí)施方式的第二方面中,提供了一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備,包括:
[0018]分離單元,用于將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件;
[0019]切片單元,用于對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段;
[0020]轉(zhuǎn)碼單元,用于分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理;
[0021]合片單元,用于將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件;
[0022]合成單元,用于將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。
[0023]在本發(fā)明實(shí)施方式中,先將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件,然后僅對視頻文件進(jìn)行切片,再將切片后得到的多個(gè)音頻文件片段以及音頻文件分別進(jìn)行轉(zhuǎn)碼處理,接著將轉(zhuǎn)碼處理后的多個(gè)視頻文件片段合片,以便獲得轉(zhuǎn)碼處理后的視頻文件,最后將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件(即,轉(zhuǎn)碼文件)中,最終獲得的轉(zhuǎn)碼文件就不會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
【專利附圖】
【附圖說明】
[0024]通過參考附圖閱讀下文的詳細(xì)描述,本發(fā)明示例性實(shí)施方式的上述以及其他目的、特征和優(yōu)點(diǎn)將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式,其中:
[0025]圖1示意性地示出了本發(fā)明實(shí)施方式可以在其中實(shí)施的一個(gè)示例性場景;
[0026]圖2示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法的流程圖;
[0027]圖3示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的對視頻文件進(jìn)行切片的方法的流程圖;
[0028]圖4示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的整個(gè)切片過程的操作示意圖;
[0029]圖5示意性地示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施方式的對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法的流程圖;
[0030]圖6示意性地示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施方式的整個(gè)切片過程的操作示意圖;
[0031]圖7示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備的結(jié)構(gòu)框架圖;
[0032]圖8示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的切片單元的結(jié)構(gòu)框架圖;
[0033]圖9示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備的結(jié)構(gòu)框架圖。
[0034]在附圖中,相同或?qū)?yīng)的標(biāo)號表不相同或?qū)?yīng)的部分。
【具體實(shí)施方式】
[0035]下面將參考若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0036]本領(lǐng)域技術(shù)人員知道,本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本公開可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
[0037]根據(jù)本發(fā)明的實(shí)施方式,提出了一種對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法和設(shè)備。
[0038]在本文中,需要理解的是,附圖中的任何元素?cái)?shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
[0039]下面參考本發(fā)明的若干代表性實(shí)施方式,詳細(xì)闡釋本發(fā)明的原理和精神。
[0040]發(fā)明概沭
[0041]本發(fā)明人發(fā)現(xiàn),當(dāng)對音視頻源文件進(jìn)行轉(zhuǎn)碼處理時(shí),如果先對源文件進(jìn)行切片,然后同時(shí)分別對切片后所獲得的多個(gè)文件片段進(jìn)行轉(zhuǎn)碼,最后將轉(zhuǎn)碼后的多個(gè)文件片段合片成一個(gè)文件(即,轉(zhuǎn)碼文件)的話,最終獲得的轉(zhuǎn)碼文件就會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
[0042]如果先將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件,然后僅對視頻文件進(jìn)行切片,再將切片后得到的多個(gè)音頻文件片段以及音頻文件分別進(jìn)行轉(zhuǎn)碼處理,接著將轉(zhuǎn)碼處理后的多個(gè)視頻文件片段合片,以便獲得轉(zhuǎn)碼處理后的視頻文件,最后將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件(即,轉(zhuǎn)碼文件)中,最終獲得的轉(zhuǎn)碼文件就不會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
[0043]在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實(shí)施方式。[0044]應(yīng)用場景總覽
[0045]首先參考圖1,圖1示意性地示出了本發(fā)明的實(shí)施方式可以在其中實(shí)施的示例性應(yīng)用場景。其中,多媒體服務(wù)器10獲得音視頻源文件11,音視頻源文件11例如可以是多媒體服務(wù)器10中的本地文件,也可以是網(wǎng)絡(luò)視頻源產(chǎn)生的文件,還可以是直播視頻源產(chǎn)生的文件。多媒體服務(wù)器10在將音視頻源文件11發(fā)送給終端20之前,為了適應(yīng)不同的網(wǎng)絡(luò)帶寬、不同的終端處理能力或不同的用戶需求,需要先對音視頻源文件11進(jìn)行轉(zhuǎn)碼處理,然后再將轉(zhuǎn)碼處理后的音視頻文件12發(fā)送給終端20。多媒體服務(wù)器10可以是Web服務(wù)器,也可以是其他類型的服務(wù)器,例如APP服務(wù)器。終端20可以是網(wǎng)絡(luò)電視機(jī),也可以是移動終端,例如,手機(jī)或平板電腦。本領(lǐng)域技術(shù)人員可以理解,圖1所示的示意圖僅是本發(fā)明的實(shí)施方式可以在其中得以實(shí)現(xiàn)的一個(gè)示例。本發(fā)明實(shí)施方式的應(yīng)用范圍不受到該框架任何方面的限制。
[0046]示例性方法
[0047]下面結(jié)合圖1的應(yīng)用場景,參考圖2來描述根據(jù)本發(fā)明示例性實(shí)施方式的、用于對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法。需要注意的是,上述應(yīng)用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實(shí)施方式在此方面不受任何限制。相反,本發(fā)明的實(shí)施方式可以應(yīng)用于適用的任何場景。
[0048]請參閱圖2,其示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的對音視頻文件進(jìn)行轉(zhuǎn)碼處理的方法的流程圖,方法具體例如可以包括:
[0049]步驟201:將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件。
[0050]其中,在音視頻源文件中,既包含有音頻幀,也包含有視頻幀。并且,音頻幀和視頻幀穿插地排列在整個(gè)音視頻文件當(dāng)中。
[0051]在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,步驟201具體為:從所述音視頻文件中分別提取出音頻幀和視頻幀,將提取出的音頻幀放入到所述音頻文件中,將提取出的視頻幀放入到所述視頻文件中。
[0052]其中,每一個(gè)數(shù)據(jù)幀上攜帶有一個(gè)類型標(biāo)識,根據(jù)該類型標(biāo)識可以確定數(shù)據(jù)幀的類型為音頻幀還是為視頻幀。當(dāng)確定為音頻幀時(shí),就將音頻幀放入到音頻文件中,當(dāng)確定為視頻幀時(shí),就將視頻幀放入到視頻文件中。
[0053]另外,在從所述音視頻文件中分別提取出音頻幀和視頻幀,將提取出的音頻幀放入到所述音頻文件中,將提取出的視頻幀放入到所述視頻文件中時(shí),在音頻幀和視頻幀中保留時(shí)間戳信息,并且這些信息在轉(zhuǎn)碼過程中也不丟失,以利于以后將音頻幀和視頻幀重新合成為首視頻文件。
[0054]步驟202:對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段。
[0055]在本步驟202中,可以采用任意一種切片方法對視頻文件進(jìn)行切片。
[0056]例如,在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,采用了如圖3所示的切片方法,該切片方法包括:
[0057]步驟2021:將播放時(shí)長為預(yù)設(shè)時(shí)間段的文件片段設(shè)置為參考切片單位。
[0058]步驟2022:判斷當(dāng)采用所述參考切片單位對所述視頻文件進(jìn)行一次切片時(shí),剩余視頻文件中的第一個(gè)視頻幀是否為關(guān)鍵幀,如果是,進(jìn)入步驟2023,否則,進(jìn)入步驟2024。
[0059]步驟2023:采用所述參考切片單位對所述視頻文件進(jìn)行一次切片,結(jié)束流程。[0060]步驟2024:從所述視頻文件中查找與所述第一視頻幀距離最近的關(guān)鍵幀,在查找到的所述關(guān)鍵幀前進(jìn)行一次切片,結(jié)束流程。
[0061]可見,在執(zhí)行一次步驟2021-2024后,即完成一次切片處理,獲得一個(gè)視頻文件片段。在重復(fù)執(zhí)行多次步驟2021-2024后,即完成多次切片處理,最終獲得多個(gè)視頻文件片段。
[0062]需要說明的是,在目前一些主流的視頻編解碼標(biāo)準(zhǔn)中,如,H.263、H.264或AVS (Audio Video coding Standard,音視頻編碼標(biāo)準(zhǔn)),視頻文件中的關(guān)鍵巾貞即為I巾貞,非關(guān)鍵幀為B幀或P幀。
[0063]整個(gè)切片過程的操作示意圖如圖4所示。
[0064]當(dāng)采用以上方法進(jìn)行切片后,可以保證文件片段的第一個(gè)視頻幀為關(guān)鍵幀(當(dāng)然,第一個(gè)視頻文件片段的第一視頻幀可能不是一個(gè)關(guān)鍵幀),進(jìn)而也就保證位于該關(guān)鍵幀后面的非關(guān)鍵巾貞可以參考該關(guān)鍵巾貞進(jìn)行正常解碼。
[0065]但是,對于每相鄰兩個(gè)文件片段,在前一個(gè)文件片段中也有可能存在一些位于切割邊界處的非關(guān)鍵幀在轉(zhuǎn)碼處理時(shí)需要參考后一個(gè)文件片段中的關(guān)鍵幀進(jìn)行解碼或者參考包括后一個(gè)文件片段中的關(guān)鍵幀在內(nèi)的多個(gè)關(guān)鍵幀進(jìn)行解碼,因此,由于缺少參考的關(guān)鍵幀,在前一個(gè)文件片段中一些位于切割邊界處的非關(guān)鍵幀可能會存在無法正常解碼的問題。最終導(dǎo)致轉(zhuǎn)碼文件在切割邊界處可能會出現(xiàn)圖像失真或模糊、甚至是圖像丟失的問題。
[0066]因此,在本發(fā)明的另一個(gè)優(yōu)選實(shí)施方式中,為了避免轉(zhuǎn)碼文件在切割邊界處可能會出現(xiàn)圖像失真或模糊、甚至是圖像丟失的問題,如圖5所示,在執(zhí)行完上述切片方法并獲得多個(gè)視頻文件片段之后,且,在執(zhí)行步驟203之前,還進(jìn)一步對獲得的所有視頻文件片段進(jìn)行如下處理:
[0067]步驟203-1:針對每相鄰兩個(gè)視頻文件片段,判斷在轉(zhuǎn)碼處理時(shí)前一個(gè)視頻文件片段的非關(guān)鍵幀是否參考后一個(gè)視頻文件片段中的至少一個(gè)關(guān)鍵幀進(jìn)行解碼,如果是,進(jìn)入步驟203-2。
[0068]步驟203-2:將所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀復(fù)制到所述前一個(gè)視頻文件片段中,其中,所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
[0069]當(dāng)然,如果在轉(zhuǎn)碼處理時(shí)前一個(gè)視頻文件片段的非關(guān)鍵幀不參考后一個(gè)視頻文件片段中的任何一個(gè)關(guān)鍵幀進(jìn)行解碼,可直接進(jìn)入步驟203進(jìn)行處理。
[0070]例如,如圖6所示,在第η個(gè)視頻文件片段中的末尾存在一個(gè)B幀,而該B幀需要參考第η+1個(gè)視頻文件片段中的第一個(gè)I幀進(jìn)行解碼,將該I幀復(fù)制到第η個(gè)視頻文件片段中(如,可以復(fù)制在片段的尾部),而該I幀僅用于該B幀的正常解碼,而不用于播放。
[0071]其中,在本發(fā)明的另一個(gè)優(yōu)選實(shí)施方式中,復(fù)制到所述前一個(gè)視頻文件片段中的所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀攜帶有標(biāo)識,所述標(biāo)識用于指示所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
[0072]當(dāng)然,本領(lǐng)域的技術(shù)人員可以理解,在將視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段時(shí),可以為每個(gè)視頻文件片段添加一個(gè)片段編號,以利于以后將這些視頻文件片段重新合片成一個(gè)視頻文件。[0073]完成切片處理后,返回到轉(zhuǎn)碼處理的流程,并執(zhí)行以下步驟。
[0074]步驟203:分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理。
[0075]例如,可以并行地對多個(gè)視頻文件片段進(jìn)行轉(zhuǎn)碼處理。更一般地,可以并行地對多個(gè)視頻文件片段和音頻文件進(jìn)行轉(zhuǎn)碼處理。
[0076]在本步驟203中,可以采用任意一種轉(zhuǎn)碼處理方法對視頻文件片段和音頻文件進(jìn)行轉(zhuǎn)碼處理,這不是本發(fā)明的重點(diǎn)。
[0077]順便說一下,在將后一個(gè)視頻文件片段中的至少一個(gè)關(guān)鍵幀復(fù)制到前一個(gè)視頻文件片段中的情況下,在轉(zhuǎn)碼之后,可以將復(fù)制的關(guān)鍵幀從相應(yīng)的視頻文件片段中刪除(以防止合片時(shí)有重復(fù)的關(guān)鍵幀出現(xiàn))。
[0078]步驟204:將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件。
[0079]在本步驟204中,可以采用任意一種合片方法對視頻文件片段進(jìn)行合片,這不是本發(fā)明的重點(diǎn)。
[0080]步驟205:將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。
[0081]在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,本步驟205可以具體為:按照轉(zhuǎn)碼處理后的音頻文件中的音頻幀的時(shí)間戳以及轉(zhuǎn)碼處理后的視頻文件中的視頻幀的時(shí)間戳的先后順序,對所述音頻幀和所述視頻幀進(jìn)行混合排序,并將混合排序后的所述音頻幀和所述視頻幀放入同一個(gè)文件中。
[0082]根據(jù)本發(fā)明,先將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件,然后僅對視頻文件進(jìn)行切片,再將切片后得到的多個(gè)視頻文件片段以及音頻文件分別進(jìn)行轉(zhuǎn)碼處理,接著將轉(zhuǎn)碼處理后的多個(gè)視頻文件片段合片,以便獲得轉(zhuǎn)碼處理后的視頻文件,最后將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件(即,轉(zhuǎn)碼文件)中,最終獲得的轉(zhuǎn)碼文件就不會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
[0083]另外,在對視頻文件進(jìn)行切片后,針對每相鄰兩個(gè)視頻文件片段,如果前一個(gè)視頻文件片段中位于切割邊界處的非關(guān)鍵幀需要參考后一個(gè)視頻文件片段中的一些關(guān)鍵幀才能進(jìn)行正常解碼,還將這些關(guān)鍵幀復(fù)制到前一個(gè)視頻文件片段中,供前一個(gè)視頻文件片段中的非關(guān)鍵幀解碼用,但這些關(guān)鍵幀并不用于播放。從而保證前一個(gè)視頻文件片段中位于切割邊界處的非關(guān)鍵幀都可以正常解碼,進(jìn)而避免轉(zhuǎn)碼文件在切割邊界處出現(xiàn)圖像失真或模糊,甚至是圖像丟失的問題。
[0084]示例性設(shè)備
[0085]在介紹了本發(fā)明示例性實(shí)施方式的方法之后,接下來,參考圖7來描述根據(jù)本發(fā)明示例性實(shí)施方式的、用于對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備。
[0086]參考圖7,其示意性地示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備的結(jié)構(gòu)框架圖,具體地,該設(shè)備例如可以包括:
[0087]分離單元701,用于將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件;
[0088]切片單元702,用于對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段;
[0089]轉(zhuǎn)碼單元703,用于分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理;
[0090]合片單元704,用于將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件;
[0091]合成單元705,用于將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。
[0092]在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,如圖8所示,切片單元702包括:
[0093]設(shè)置子單元7021,用于將播放時(shí)長為預(yù)設(shè)時(shí)間段的文件片段設(shè)置為參考切片單位;
[0094]判斷子單元7022,用于判斷當(dāng)采用所述參考切片單位對所述視頻文件進(jìn)行一次切片時(shí),剩余視頻文件中的第一個(gè)視頻幀是否為關(guān)鍵幀;
[0095]切割子單元7023,用于如果所述判斷子單元的判斷結(jié)果為是,采用所述參考切片單位對所述視頻文件進(jìn)行一次切片,如果所述判斷子單元的判斷結(jié)果為否,從所述視頻文件中查找與所述第一個(gè)視頻幀距離最近的關(guān)鍵幀,在查找到的所述關(guān)鍵幀前進(jìn)行一次切片,最終獲得多個(gè)視頻文件片段。
[0096]在本發(fā)明的另一個(gè)優(yōu)選實(shí)施方式中,如圖9所示,該設(shè)備還可以包括:
[0097]判斷單元706,用于在所述轉(zhuǎn)碼單元分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理之前,判斷在轉(zhuǎn)碼處理時(shí)前一個(gè)視頻文件片段中的非關(guān)鍵幀是否參考后一個(gè)視頻文件片段中的至少一個(gè)關(guān)鍵幀進(jìn)行解碼;
[0098]復(fù)制單元707,用于如果所述判斷單元的判斷結(jié)果為是,將所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀復(fù)制到所述前一個(gè)視頻文件片段中,其中,所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
[0099]在本發(fā)明的另一個(gè)優(yōu)選實(shí)施方式中,復(fù)制到所述前一個(gè)視頻文件片段中的所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀攜帶有標(biāo)識,所述標(biāo)識用于指示所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
[0100]在本發(fā)明的另一個(gè)優(yōu)選實(shí)施方式中,分離單元701具體用于,從所述音視頻文件中分別提取出音頻幀和視頻幀,將提取出的音頻幀放入到所述音頻文件中,將提取出的視頻幀放入到所述視頻文件中。
[0101]在本發(fā)明的另一個(gè)優(yōu)選實(shí)施方式中,合成單元705具體用于,按照轉(zhuǎn)碼處理后的音頻文件中的音頻幀的時(shí)間戳以及轉(zhuǎn)碼處理后的視頻文件中的視頻幀的時(shí)間戳的先后順序,對所述音頻幀和所述視頻幀進(jìn)行混合排序,并將混合排序后的所述音頻幀和所述視頻幀放入一個(gè)文件中。
[0102]根據(jù)本發(fā)明,先將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件,然后僅對視頻文件進(jìn)行切片,再將切片后得到的多個(gè)視頻文件片段以及音頻文件分別進(jìn)行轉(zhuǎn)碼處理,接著將轉(zhuǎn)碼處理后的多個(gè)視頻文件片段合片,以便獲得轉(zhuǎn)碼處理后的視頻文件,最后將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件(即,轉(zhuǎn)碼文件)中,最終獲得的轉(zhuǎn)碼文件就不會出現(xiàn)音頻內(nèi)容與視頻內(nèi)容之間不同步的問題。
[0103]另外,在對視頻文件進(jìn)行切片后,針對每相鄰兩個(gè)視頻文件片段,如果前一個(gè)視頻文件片段中位于切割邊界處的非關(guān)鍵幀需要參考后一個(gè)視頻文件片段中的一些關(guān)鍵幀才能進(jìn)行正常解碼,還將這些關(guān)鍵幀復(fù)制到前一個(gè)視頻文件片段中,供前一個(gè)視頻文件片段中的非關(guān)鍵幀解碼用,但這些關(guān)鍵幀并不用于播放。從而保證前一個(gè)視頻文件片段中位于切割邊界處的非關(guān)鍵幀都可以正常解碼,進(jìn)而避免轉(zhuǎn)碼文件在切割邊界處出現(xiàn)圖像失真或模糊,甚至是圖像丟失的問題。
[0104]應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了對音視頻文件進(jìn)行轉(zhuǎn)碼處理的設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個(gè)或更多裝置的特征和功能可以在一個(gè)裝置中具體化。反之,上文描述的一個(gè)裝置的特征和功能可以進(jìn)一步劃分為由多個(gè)裝置來具體化。
[0105]此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。
[0106]雖然已經(jīng)參考若干【具體實(shí)施方式】描述了本發(fā)明的精神和原理,但是應(yīng)該理解,本發(fā)明并不限于所公開的【具體實(shí)施方式】,對各方面的劃分也不意味著這些方面中的特征不能組合以進(jìn)行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。
【權(quán)利要求】
1.一種方法,包括: a)、將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件; b)、對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段; c)、分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理; d)、將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件; e)、將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述步驟b)包括: bl)、將播放時(shí)長為預(yù)設(shè)時(shí)間段的文件片段設(shè)置為參考切片單位;b2)、判斷當(dāng)采用所述參考切片單位對所述視頻文件進(jìn)行一次切片時(shí),剩余視頻文件中的第一個(gè)視頻幀是否為關(guān)鍵幀; b3)、如果是,采用所述參考切片單位對所述視頻文件進(jìn)行一次切片,否則,從所述視頻文件中查找與所述第一個(gè)視頻幀距離最近的關(guān)鍵幀,在查找到的所述關(guān)鍵幀前進(jìn)行一次切片,最終獲得多個(gè)視頻文件片段。
3.根據(jù)權(quán)利要求2所述的方法,其中,在步驟c)之前,還包括: b4)、針對每相鄰兩個(gè)視頻文件片段,判斷在轉(zhuǎn)碼處理時(shí)前一個(gè)視頻文件片段中的非關(guān)鍵幀是否參考后一個(gè)視頻文件片段中的至少一個(gè)關(guān)鍵幀進(jìn)行解碼; b5)、如果是,將所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀復(fù)制到所述前一個(gè)視頻文件片段中,其中,所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
4.根據(jù)權(quán)利要求3所述的方法,其中,復(fù)制到所述前一個(gè)視頻文件片段中的所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀攜帶有標(biāo)識,所述標(biāo)識用于指示所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
5.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其中,所述步驟a)具體為: 從所述音視頻文件中分別提取出音頻幀和視頻幀,將提取出的音頻幀放入到所述音頻文件中,將提取出的視頻幀放入到所述視頻文件中。
6.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其中,所述步驟e)具體為: 按照轉(zhuǎn)碼處理后的音頻文件中的音頻幀的時(shí)間戳以及轉(zhuǎn)碼處理后的視頻文件中的視頻幀的時(shí)間戳的先后順序,對所述音頻幀和所述視頻幀進(jìn)行混合排序,并將混合排序后的所述音頻幀和所述視頻幀放入同一個(gè)文件中。
7.—種設(shè)備,包括: 分離單元,用于將音視頻源文件進(jìn)行音視頻分離,分別生成音頻文件和視頻文件; 切片單元,用于對所述視頻文件進(jìn)行切片,獲得多個(gè)視頻文件片段; 轉(zhuǎn)碼單元,用于分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理; 合片單元,用于將轉(zhuǎn)碼處理后的所述多個(gè)視頻文件片段進(jìn)行合片,獲得轉(zhuǎn)碼處理后的視頻文件; 合成單元,用于將轉(zhuǎn)碼處理后的音頻文件和轉(zhuǎn)碼處理后的視頻文件合成到同一個(gè)文件中。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述切片單元包括:設(shè)置子單元,用于將播放時(shí)長為預(yù)設(shè)時(shí)間段的文件片段設(shè)置為參考切片單位; 判斷子單元,用于判斷當(dāng)采用所述參考切片單位對所述視頻文件進(jìn)行一次切片時(shí),剩余視頻文件中的第一個(gè)視頻幀是否為關(guān)鍵幀; 切割子單元,用于如果所述判斷子單元的判斷結(jié)果為是,采用所述參考切片單位對所述視頻文件進(jìn)行一次切片,如果所述判斷子單元的判斷結(jié)果為否,從所述視頻文件中查找與所述第一個(gè)視頻幀距離最近的關(guān)鍵幀,在查找到的所述關(guān)鍵幀前進(jìn)行一次切片,最終獲得多個(gè)視頻文件片段。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其中,還包括: 判斷單元,用于在所述轉(zhuǎn)碼單元分別對所述多個(gè)視頻文件片段以及所述音頻文件進(jìn)行轉(zhuǎn)碼處理之前,判斷在轉(zhuǎn)碼處理時(shí)前一個(gè)視頻文件片段中的非關(guān)鍵幀是否參考后一個(gè)視頻文件片段中的至少一個(gè)關(guān)鍵幀進(jìn)行解碼; 復(fù)制單元,用于如果所述判斷單元的判斷結(jié)果為是,將所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀復(fù)制到所述前一個(gè)視頻文件片段中,其中,所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
10.根據(jù)權(quán) 利要求9所述的設(shè)備,其中,復(fù)制到所述前一個(gè)視頻文件片段中的所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀攜帶有標(biāo)識,所述標(biāo)識用于指示所述后一個(gè)視頻文件片段中的所述至少一個(gè)關(guān)鍵幀只用于所述前一個(gè)視頻文件片段中的所述非關(guān)鍵幀的解碼,而不用于播放。
11.根據(jù)權(quán)利要求7至10中任意一項(xiàng)所述的設(shè)備,其中,所述分離單元具體用于,從所述音視頻文件中分別提取出音頻幀和視頻幀,將提取出的音頻幀放入到所述音頻文件中,將提取出的視頻幀放入到所述視頻文件中。
12.根據(jù)權(quán)利要求7至10中任意一項(xiàng)所述的設(shè)備,其中,所述合成單元具體用于,按照轉(zhuǎn)碼處理后的音頻文件中的音頻幀的時(shí)間戳以及轉(zhuǎn)碼處理后的視頻文件中的視頻幀的時(shí)間戳的先后順序,對所述音頻幀和所述視頻幀進(jìn)行混合排序,并將混合排序后的所述音頻幀和所述視頻幀放入一個(gè)文件中。
【文檔編號】H04N21/23GK103929655SQ201410171327
【公開日】2014年7月16日 申請日期:2014年4月25日 優(yōu)先權(quán)日:2014年4月25日
【發(fā)明者】張樹軍, 劉希斌, 張仕強(qiáng) 申請人:網(wǎng)易傳媒科技(北京)有限公司