切片轉(zhuǎn)碼的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實施方式圖像處理領(lǐng)域,更具體地,本發(fā)明的實施方式涉及切片轉(zhuǎn)碼的方法和設(shè)備。
【背景技術(shù)】
[0002]本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述可包括可以探宄的概念,但不一定是之前已經(jīng)想到或者已經(jīng)探宄的概念。因此,除非在此指出,否則在本部分中描述的內(nèi)容對于本申請的說明書和權(quán)利要求書而言不是現(xiàn)有技術(shù),并且并不因為包括在本部分中就承認是現(xiàn)有技術(shù)。
[0003]在視頻網(wǎng)站中,用戶或者各個電影及電視劇制片廠商所提供的視頻源文件的格式和碼率不統(tǒng)一,因此,為了保證用戶可以流暢穩(wěn)定地觀看視頻源,需要在視頻網(wǎng)站的后臺將各種視頻源文件轉(zhuǎn)碼成統(tǒng)一的格式和碼率。轉(zhuǎn)碼本質(zhì)上就是一個先解碼,再編碼的過程。
【發(fā)明內(nèi)容】
[0004]但是,本發(fā)明人在研宄過程中發(fā)現(xiàn),在現(xiàn)有技術(shù)中,由于視頻源文件的數(shù)據(jù)量比較大,如果只用一臺機器對視頻源文件進行轉(zhuǎn)碼的話,會導(dǎo)致轉(zhuǎn)碼效率較低,耗時也會很長。例如,以目前機器的計算能力,如果用一臺機器對一個高清的視頻源文件進行轉(zhuǎn)碼將消耗一到幾個小時的時間。因此,針對視頻源文件,一種改進的轉(zhuǎn)碼方式是先對視頻源文件進行切片,然后將切片后所獲得的多個文件片段分別分配給一個機群中的多臺機器并行地進行轉(zhuǎn)碼,最后將轉(zhuǎn)碼后的多個文件片段合片成一個文件,從而最終獲得一個轉(zhuǎn)碼文件。
[0005]依照現(xiàn)有技術(shù),當(dāng)采用改進的切片轉(zhuǎn)碼方式對一個視頻源文件進行轉(zhuǎn)碼時,一旦機群中的某一個機器因為一定的原因而需要提前終止對某一個文件片段的轉(zhuǎn)碼,就需要由其它機器重新對該文件片段進行轉(zhuǎn)碼,而該機器在終止前已經(jīng)獲得的該文件片段的轉(zhuǎn)碼結(jié)果也將全部作廢。
[0006]為此,非常需要一種切片轉(zhuǎn)碼方法和設(shè)備,以解決現(xiàn)有技術(shù)中由于機群中的某一臺機器提前終止轉(zhuǎn)碼而導(dǎo)致的需要對該機器已經(jīng)完成轉(zhuǎn)碼的文件片段重新進行轉(zhuǎn)碼的問題。
[0007]在本上下文中,本發(fā)明的實施方式期望提供一種切片轉(zhuǎn)碼方法和設(shè)備。
[0008]在本發(fā)明實施方式的第一方面中,提供了一種切片轉(zhuǎn)碼方法,包括:
[0009]響應(yīng)于對第一文件片段停止轉(zhuǎn)碼的控制指令,第一轉(zhuǎn)碼機器判斷在所述第一文件片段的未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀中是否存在依賴于已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀才能解碼的數(shù)據(jù)幀;
[0010]如果否,第一轉(zhuǎn)碼機器立即停止轉(zhuǎn)碼,如果是,第一轉(zhuǎn)碼機器繼續(xù)對所述第一文件片段進行轉(zhuǎn)碼,直到所述第一文件片段中未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀不依賴已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀即可解碼時,才停止轉(zhuǎn)碼;
[0011]第一轉(zhuǎn)碼機器將所述第一文件片段的停止轉(zhuǎn)碼位置上報給控制機器。
[0012]在本發(fā)明實施方式的第二方面中,提供了一種切片轉(zhuǎn)碼設(shè)備,包括:
[0013]判斷單元,用于響應(yīng)于對第一文件片段停止轉(zhuǎn)碼的控制指令,判斷在所述第一文件片段的未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀中是否存在依賴于已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀才能解碼的數(shù)據(jù)幀;
[0014]停止轉(zhuǎn)碼執(zhí)行單元,用于如果否,立即停止轉(zhuǎn)碼,如果是,繼續(xù)對所述第一文件片段進行轉(zhuǎn)碼,直到所述第一文件片段中未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀都不依賴已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀即可解碼時,才停止轉(zhuǎn)碼;
[0015]第一上報單元,用于將所述第一文件片段的停止轉(zhuǎn)碼位置上報給控制機器。
[0016]在本發(fā)明實施方式的第二方面中,提供了一種切片轉(zhuǎn)碼設(shè)備,包括:
[0017]任務(wù)接收單元,用于接收所述控制機器分配的對第一文件片段進行轉(zhuǎn)碼的轉(zhuǎn)碼任務(wù),在所述轉(zhuǎn)碼任務(wù)中指示了所述第一文件片段在上一次轉(zhuǎn)碼時的停止轉(zhuǎn)碼位置;
[0018]轉(zhuǎn)碼單元,用于從所述停止轉(zhuǎn)碼位置開始對所述第一文件片段進行轉(zhuǎn)碼。
[0019]在本發(fā)明實施方式中,在接收到控制指令需要提前停止轉(zhuǎn)碼時,第一轉(zhuǎn)碼機器先確定當(dāng)前在第一文件片段中未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀是否存在依賴于已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀才能解碼的數(shù)據(jù)幀,如果不存在,就可以在當(dāng)前立即停止轉(zhuǎn)碼,如果存在,還會繼續(xù)對第一文件片段進行轉(zhuǎn)碼,直到第一文件片段中未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀不依賴已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀即可解碼時,才停止轉(zhuǎn)碼。這樣,在將未經(jīng)過轉(zhuǎn)碼處理的那一部分數(shù)據(jù)幀交給其它的機器進行轉(zhuǎn)碼時,其它的機器可以成功地實現(xiàn)轉(zhuǎn)碼。也就是說,在第一轉(zhuǎn)碼機器提前停止轉(zhuǎn)碼后,可以由其它機器繼續(xù)對第一文件片段剩下部分進行轉(zhuǎn)碼,而第一轉(zhuǎn)碼機器在終止轉(zhuǎn)碼前已經(jīng)獲得的該第一文件片段的轉(zhuǎn)碼結(jié)果仍然有效。
【附圖說明】
[0020]通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
[0021]圖1示意性地示出了本發(fā)明實施方式可以在其中實施的一個示例性場景;
[0022]圖2示意性地示出了根據(jù)本發(fā)明的一個實施方式的切片轉(zhuǎn)碼方法的流程圖;
[0023]圖3示意性地示出了根據(jù)本發(fā)明的一個實施方式的視頻源文件的結(jié)構(gòu)示意圖;
[0024]圖4-1示意性地示出了根據(jù)本發(fā)明的一個實施方式的文件片段一種轉(zhuǎn)碼停止位置的示意圖;
[0025]圖4-2示意性地示出了根據(jù)本發(fā)明的一個實施方式的文件片段的另一種停止轉(zhuǎn)碼位置的結(jié)構(gòu)示意圖;
[0026]圖5示意性地示出了根據(jù)本發(fā)明的一個實施方式的將視頻源文件拆分為三個文件片段的結(jié)構(gòu)示意圖;
[0027]圖6示意性地示出了根據(jù)本發(fā)明一個實施方式的切片轉(zhuǎn)碼設(shè)備的結(jié)構(gòu)框架圖;
[0028]圖7示意性地示出了根據(jù)本發(fā)明一個實施方式的判斷單元的結(jié)構(gòu)框架圖;
[0029]圖8示意性地示出了根據(jù)本發(fā)明的另一個實施方式的切片轉(zhuǎn)碼設(shè)備的結(jié)構(gòu)框架圖;
[0030]圖9示意性地示出了根據(jù)本發(fā)明的另一個實施方式的切片轉(zhuǎn)碼設(shè)備的結(jié)構(gòu)框架圖。
[0031]在附圖中,相同或?qū)?yīng)的標號表不相同或?qū)?yīng)的部分。
【具體實施方式】
[0032]下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。
[0033]本領(lǐng)域技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
[0034]根據(jù)本發(fā)明的實施方式,提出了一種切片轉(zhuǎn)碼方法和設(shè)備。
[0035]在本文中,需要理解的是,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
[0036]下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
[0037]發(fā)曰月概沐
[0038]本發(fā)明人發(fā)現(xiàn),當(dāng)由一個機群中的多臺機器并行地對多個文件片段進行轉(zhuǎn)碼處理時,如果機群中的某一個機器在轉(zhuǎn)碼過程中提前停止了轉(zhuǎn)碼,并不是由其它的機器從該機器停止轉(zhuǎn)碼的位置開始繼續(xù)轉(zhuǎn)碼,而是由其它的機器重新對該機器的文件片段進行轉(zhuǎn)碼。其主要原因在于:對于該機器上未經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀來說,其可能包含有依賴于已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀才可以解碼的數(shù)據(jù)幀,如果將未經(jīng)過轉(zhuǎn)碼處理的那一部分數(shù)據(jù)幀直接交給其它的機器進行轉(zhuǎn)碼,將因為無法正常解碼而導(dǎo)致轉(zhuǎn)碼失敗。
[0039]如果當(dāng)該機器停止轉(zhuǎn)碼時未經(jīng)過轉(zhuǎn)碼處理的那部分數(shù)據(jù)幀可以不依賴于已經(jīng)過轉(zhuǎn)碼處理的數(shù)據(jù)幀的話,就可以避免前面所述的由于機群中的某一臺機器提前終止轉(zhuǎn)碼而導(dǎo)致的需要對該機器的文件片段重新進行轉(zhuǎn)碼的問題。
[0040]在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。
_1]應(yīng)用場景總覽
[0042]首先參考圖1,圖1示意性地示出了本發(fā)明的實施方式可以在其中實施的示例性應(yīng)用場景。其中,為了方便描述,假設(shè)在機群10中僅包含四個轉(zhuǎn)碼機器11、12、13和14。視頻源文件30存儲在控制機器20上,并且控制機器20將視頻源文件30在物理上拆分為三個文件片段31、32和33,并分別分配給轉(zhuǎn)碼機器11、12和13,轉(zhuǎn)碼機器11對文件片段31進行轉(zhuǎn)碼處理,轉(zhuǎn)碼機器12對文件片段32進行轉(zhuǎn)碼處理,轉(zhuǎn)碼機器13對文件片段33進行轉(zhuǎn)碼處理。在轉(zhuǎn)碼過程中,如果轉(zhuǎn)碼機器11提前終止了對文件片段31的轉(zhuǎn)碼處理,控制機器20將文件片段31分配給目前空閑的轉(zhuǎn)碼機器14,并指示了文件片段31在上一次轉(zhuǎn)碼時的停止轉(zhuǎn)碼位置。轉(zhuǎn)碼處理完畢后,轉(zhuǎn)碼機器11將文件片段31的一部分轉(zhuǎn)碼結(jié)果(即,轉(zhuǎn)碼片段41A)、轉(zhuǎn)碼機器14將文件片段31的另一部分轉(zhuǎn)碼結(jié)果(即,轉(zhuǎn)碼片段41B)、轉(zhuǎn)碼機器12將文件片段32的轉(zhuǎn)碼結(jié)果(S卩,轉(zhuǎn)碼片段42)以及轉(zhuǎn)碼機器13將文件片段33的轉(zhuǎn)碼結(jié)果(