處理輸入比特流的方法與信號處理裝置制造方法
【專利摘要】本發(fā)明提供一種處理具有多個圖幀與多個音頻幀的輸入比特流的方法,包含譯碼上述多個音頻幀以產(chǎn)生多個已譯碼音頻采樣;以及當(dāng)上述多個已譯碼音頻采樣正被連續(xù)輸出以進行音頻播放時,控制視頻譯碼器來略過上述多個圖幀之中一部分的圖幀。本發(fā)明還提供一種處理具有多個圖幀與多個音頻幀的輸入比特流的信號處理裝置。本發(fā)明提供之方法與裝置能夠?qū)崿F(xiàn)音視頻的再次同步播放。
【專利說明】處理輸入比特流的方法與信號處理裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明有關(guān)于圖幀的譯碼,特指一種控制視頻譯碼器選擇性地略過一個或多個圖 幀的方法與相關(guān)的信號處理裝置。
【背景技術(shù)】
[0002] 隨著半導(dǎo)體技術(shù)的演進,同一裝置可支持越來越多的功能,然而,對于通過電池來 供應(yīng)操作電源的手持式裝置來說,雖然手持式裝置可經(jīng)由設(shè)計而支持許多功能,但是仍然 需要考量整體的功率消耗,舉例來說,手持式裝置的視頻譯碼器僅具有較低的運算處理能 力,因此,當(dāng)視頻比特流所傳送的內(nèi)容很復(fù)雜時,由于視頻譯碼器本身的有限視頻譯碼能 力,則即時的視頻播放可能無法實現(xiàn)。為了解決本身僅具有限視頻譯碼能力的視頻譯碼器 所面臨的這一問題,現(xiàn)有的解決方案便采取降低內(nèi)容復(fù)雜度的作法,因而降低視頻譯碼器 所要譯碼的視頻比特流的數(shù)據(jù)率(datarate),舉例來說,視頻編碼器(videoencoder)可 以略過(skip)/丟棄(drop)原本視頻比特流中的一些預(yù)測編碼圖巾貞(predictiveframe,P frame)及/或雙向預(yù)測編碼圖巾貞(bi-directionalpredictiveframe,Bframe),以產(chǎn)生調(diào) 整后的視頻比特流來滿足本身僅具有限視頻譯碼能力的視頻譯碼器的需求。換言之,由于 視頻比特流所傳送的內(nèi)容的復(fù)雜度降低了,因此,視頻譯碼器便可以即時產(chǎn)生已譯碼圖幀, 進而實現(xiàn)所要的即時視頻播放。然而,假若視頻譯碼器在某些情形下無法順利取得具有已 降低復(fù)雜度的內(nèi)容的視頻比特流,則包含僅具有較低運算處理能力的視頻譯碼器的手持式 裝置仍然無法即時產(chǎn)生已譯碼圖幀來提供流暢的視頻播放。
[0003] 此外,視頻播放有可能因為有限的視頻譯碼能力而與音頻播放不同步,而當(dāng)視頻 播放與音頻播放發(fā)生不同步的情形時,則會對觀賞者造成困擾。
[0004] 因此,亟需一種創(chuàng)新的視頻譯碼器設(shè)計,其可基于本身的視頻譯碼能力來適應(yīng)性 地降低視頻比特流中內(nèi)容的復(fù)雜度,進而實現(xiàn)流暢且同步的視頻播放。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供了一種處理輸入比特流的方法與信號處理裝置來選擇性地略過一個 或多個圖幀,以解決上述問題。
[0006] 依據(jù)本發(fā)明的第一方面,揭示了一種處理具有多個圖幀與多個音頻幀的輸入比特 流的方法。上述方法包含以下步驟:譯碼多個音頻幀以產(chǎn)生多個已譯碼音頻采樣;以及當(dāng) 多個已譯碼音頻采樣正被連續(xù)輸出以進行音頻播放時,控制視頻譯碼器來略過多個圖幀中 一部分的圖幀。
[0007] 依據(jù)本發(fā)明的第二方面,揭示了一種處理具有多個圖幀與多個音頻幀的輸入比特 流的信號處理裝置。信號處理裝置包含:音頻譯碼器、視頻譯碼器以及控制器。音頻譯碼器 用以譯碼多個音頻幀以產(chǎn)生多個已譯碼音頻采樣。控制器耦接至視頻譯碼器,并用以在多 個已譯碼音頻采樣正被連續(xù)輸出以進行音頻播放時,控制視頻譯碼器來略過多個圖幀中一 部分的圖幀。
[0008] 本發(fā)明能夠參照指示數(shù)據(jù)以及視頻譯碼器的視頻譯碼能力,來適應(yīng)性控制視頻譯 碼器譯碼,獲取更好的顯示性能。
【專利附圖】
【附圖說明】
[0009] 圖1為本發(fā)明信號處理裝置的第一實施方式的示意圖。
[0010] 圖2為圖1所示的信號處理裝置所采用的方法的流程圖。
[0011] 圖3為圖2所示的步驟212的第一種設(shè)計范例的流程圖。
[0012] 圖4為圖2所示的步驟212的第二種設(shè)計范例的流程圖。
[0013] 圖5為臨界值與圖幀寄存器中已譯碼圖幀的總數(shù)之間的關(guān)系的示意圖。
[0014] 圖6為本發(fā)明信號處理裝置的第二實施方式的示意圖。
[0015] 圖7為圖6所示的信號處理裝置所采用的方法的流程圖。
[0016] 圖8為圖7所示的步驟710的第一種設(shè)計范例的流程圖。
[0017] 圖9為圖7所示的步驟710的第二種設(shè)計范例的流程圖。
[0018] 圖10為本發(fā)明信號播放裝置的第三實施方式的示意圖。
[0019] 圖11為圖10所示的信號處理裝置的操作的實施方式的示意圖。
【具體實施方式】
[0020] 在說明書及權(quán)利要求書當(dāng)中使用了某些詞匯來稱呼特定的元件。本領(lǐng)域的技術(shù) 人員應(yīng)可理解,硬件制造商可能會用不同的名詞來稱呼同一個元件。本說明書及權(quán)利要求 書并不以名稱的差異來作為區(qū)分元件的方式,而是以元件在功能上的差異來作為區(qū)分的準 貝1J。在通篇說明書及權(quán)利要求書當(dāng)中所提及的"包含"是開放式的用語,故應(yīng)解釋成"包含 但不限定于"。此外,"耦接"一詞在此是包含任何直接及間接的電氣連接手段。因此,若文 中描述第一裝置耦接于第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或通過其 它裝置或連接手段間接地電氣連接到第二裝置。
[0021] 圖1為本發(fā)明信號處理裝置的第一實施方式的示意圖。信號處理裝置100是用 以處理具有多個已編碼(encoded)/已壓縮(compressed)的圖巾貞的輸入比特流(input bitstream)S_IN。信號處理裝置100包含(但不局限于)視頻譯碼器(videodecoder) 102、 指不數(shù)據(jù)估測單兀(indicationdataestimatingunit) 104、控制器(controller) 106 以 及圖巾貞寄存器(videoframebuffer) 108。視頻譯碼器102是在控制器106的控制之下,用 以略過或譯碼圖幀,當(dāng)目前圖幀F(xiàn)n允許被譯碼時,視頻譯碼器102通過對輸入比特流S_IN 所傳送的目前圖巾貞?11進行譯碼,而將已譯碼圖巾貞(decodedvideoframe)Fn'傳送至圖巾貞寄 存器108。指示數(shù)據(jù)估測單元104耦接至視頻譯碼器102,用以由目前圖幀F(xiàn)n的譯碼來得 到指示數(shù)據(jù)SI,在本實施方式中,指示數(shù)據(jù)Sl包含有指示目前圖巾JiiFn相對于先前圖巾貞(例 如輸入比特流S_IN先前所傳送的圖幀F(xiàn)tl?Flri)的復(fù)雜度(complexity)的信息??刂破?106耦接至視頻譯碼器102與指示數(shù)據(jù)估測單元104,用以至少參照指示數(shù)據(jù)Sl以及視頻 譯碼器102的視頻譯碼能力,來控制視頻譯碼器102譯碼或略過下一圖幀F(xiàn)n+1。信號處理裝 置100中這些功能方塊的運作與功能將于下詳述。
[0022] 請參閱圖2,圖2為圖1所示的信號處理裝置所采用的方法的流程圖。假如可大致 上得到相同的結(jié)果,則步驟不一定要完全遵照圖2所示的次序來依序執(zhí)行。決定下一圖幀 是否應(yīng)該被譯碼或略過的方法可簡單歸納如下:
[0023] 步驟202:譯碼目前圖幀。
[0024] 步驟204:由目前圖幀的譯碼來得到多個特定視頻特性的統(tǒng)計結(jié)果。
[0025] 步驟206:依據(jù)多個特定視頻特性的統(tǒng)計結(jié)果來產(chǎn)生指示數(shù)據(jù)。
[0026] 步驟208:至少依據(jù)視頻譯碼器的視頻譯碼能力來決定判斷臨界值(decision threshold)〇
[0027] 步驟210:比較指示數(shù)據(jù)與判斷臨界值,以產(chǎn)生比較結(jié)果。
[0028] 步驟212 :依據(jù)比較結(jié)果來控制視頻譯碼器譯碼或略過下一圖幀。
[0029]在本實施方式中,指示數(shù)據(jù)估測單元104執(zhí)行步驟204與206來取得指示數(shù)據(jù)Sl, 例如指示數(shù)據(jù)估測單元104計算出對應(yīng)于視頻譯碼器102所譯碼的目前圖幀F(xiàn)n的多個特定 視頻特性的累計值(accumulationvalue),計算出累計值與由先前圖巾貞所得的歷史平均值 (historicalaveragevalue)的加權(quán)平均值(weightedaveragevalue),以及依據(jù)累計值 與加權(quán)平均值來決定出指示數(shù)據(jù)S1。舉例來說(但本發(fā)明不限于此),上述用以決定指示 數(shù)據(jù)的多個特定視頻特性可以是位移向量(motionvector)、離散余弦轉(zhuǎn)換系數(shù)(discrete cosinetransform(DCT)coefficient)或是宏塊類型(分割大?。╬artitionsize)及分割 類型(partitiontype))。在一實施方式中,傳送至控制器106的指示數(shù)據(jù)SI可以是數(shù)值, 其指示出累計值與加權(quán)平均值之間的比值(ratio);而在另一實施方式中,傳送至控制器 106的指示數(shù)據(jù)Sl可以包含有累計值與加權(quán)平均值。
[0030] 假若目前圖幀F(xiàn)n的譯碼過程所得到的位移向量被用來決定出指示數(shù)據(jù)S1,則指示 數(shù)據(jù)估測單元104可依據(jù)以下方程式來得到累計位移向量(accumulatedmotionvector)。
[0031] BlockNum-1 mvFk =? (ImM+ImM) ⑴
[0032] 在上述方程式(1)中,BlockNum代表目前圖幀F(xiàn)n中所具有的區(qū)塊的總數(shù),以及 MVx,b與MVy,b分別代表由區(qū)塊索引值(blockindexvalue)b所索引的區(qū)塊在X軸方向與Y 軸方向上的位移向量。請注意,在一些實施方式中,畫面內(nèi)編碼區(qū)塊(intra-codedblock) 可視為具有無限大的位移向量,因此,當(dāng)由區(qū)塊索引值b所索引的區(qū)塊是畫面內(nèi)編碼區(qū)塊 時,則MVx,b與MVy,b便直接由預(yù)定值來加以設(shè)定(例如|MVx,bI= |MVy,bI=maxMV)。
[0033] 在得到目前圖幀F(xiàn)n所對應(yīng)的累計值MFfi之后,指示數(shù)據(jù)估測單元104便計算累 計值MFpi與由先前圖幀(即先前譯碼的圖幀)所得的歷史累計值Mrrni的一個加權(quán)平均值 ,而加權(quán)平均值可以表示如下:
[0034] MV.,. = a:< MVr: +(]-a)xMVF(2)
[0035] 在上述方程式(2)中,α代表一加權(quán)因子。歷史累計值代表先前的已譯碼 圖幀中位移向量的歷史統(tǒng)計結(jié)果,因此,加權(quán)平均值MF,將會變成歷史累計值(其代表先 前的已譯碼圖幀中位移向量的歷史統(tǒng)計結(jié)果)以計算出下一個加權(quán)平均值。
[0036] 接著,指示數(shù)據(jù)估測單元104依據(jù)累計值與加權(quán)平均值來決定出指示 數(shù)據(jù)SI,舉例來說,指示數(shù)據(jù)估測單元104依據(jù)累計值MFfi與加權(quán)平均值Μ%之間的比值 來決定出指示數(shù)據(jù)S1,在此實作方式中,指示數(shù)據(jù)Sl可以表示如下: MV1^
[0037] Sl =-- (3) MVTnV
[0038] 由方程式(3)可知,指示數(shù)據(jù)SI可以視為目前的已譯碼圖幀的位移向量的統(tǒng)計結(jié) 果與先前的已譯碼圖幀的位移向量的歷史統(tǒng)計結(jié)果的間的比較結(jié)果,假若輸入比特流S_IN 中每一圖幀均具有相同的區(qū)塊個數(shù),則指示數(shù)據(jù)SI等效是目前圖幀的平均位移向量與時 域上的平均位移向量(即,先前圖巾貞的位移向量的移動平均值(movingaverage))之間的 比值(ratio)。
[0039] 控制器106會通過執(zhí)行步驟208?212來控制視頻譯碼器102譯碼或略過下一圖 MVf 幀F(xiàn)n+1,因此,控制器106參考比較結(jié)果(即)來決定下一圖幀F(xiàn)n+1是要譯碼還是要 略過,在本實施方式中,控制器106另至少依據(jù)視頻譯碼器102的視頻譯碼能力來決定判斷 臨界值R,因此,控制器106會根據(jù)由指示數(shù)據(jù)Sl與判斷臨界值R所得到的比較結(jié)果,來控 制視頻譯碼器102譯碼或略過下一圖幀F(xiàn)n+1,舉例來說,控制器106直接比較指示數(shù)據(jù)Sl與 判斷臨界值R來產(chǎn)生比較結(jié)果,并依據(jù)比較結(jié)果,來控制視頻譯碼器102譯碼或略過下一圖 幀卩"+1。
[0040] 一些因子/參數(shù)可以反映出視頻譯碼器102的視頻譯碼能力,例如,控制器106依 據(jù)視頻譯碼器圖巾貞速率(videodecoderframerate)Rl以及輸入圖巾貞速率(inputvideo framerate)R2的比值(例如),來設(shè)定判斷臨界值R。請參閱圖3,圖3為圖2所示的 步驟212的第一種設(shè)計范例的流程圖??刂埔曨l譯碼器102譯碼或略過下一圖幀F(xiàn)n+1的操 作可包含以下步驟:
[0041] 步驟302:檢查指示數(shù)據(jù)Sl是否小于判斷臨界值R。若是,則執(zhí)行步驟304,否則, 執(zhí)行步驟312。
[0042] 步驟304:控制視頻譯碼器102略過下一圖幀F(xiàn)n+1。
[0043] 步驟306:檢查視頻譯碼器102的視頻譯碼能力是否不符合(例如低于)預(yù)期視 頻譯碼能力。若是,則執(zhí)行步驟308,否則,執(zhí)行步驟310。
[0044] 步驟308:對于要被參考以決定圖幀F(xiàn)n+3是否譯碼或略過的判斷臨界值R進行調(diào) 整。
[0045] 步驟310:將下一圖幀F(xiàn)n+1之后的圖幀F(xiàn)n+2設(shè)定為要被譯碼的目前圖幀,接著,執(zhí)行 步驟204。
[0046] 步驟312:控制視頻譯碼器102譯碼下一圖幀F(xiàn)n+1。
[0047] 步驟314:檢查視頻譯碼器102的視頻譯碼能力是否不符合(例如高于)預(yù)期視 頻譯碼能力。若是,則執(zhí)行步驟316,否則,執(zhí)行步驟318。
[0048] 步驟316:對要被參考來決定位于下一圖幀F(xiàn)n+1之后的圖幀F(xiàn)n+2是否譯碼或略過的 判斷臨界值R進行調(diào)整。
[0049] 步驟318:將下一圖幀F(xiàn)n+1設(shè)定為要被譯碼的目前圖幀,接著,執(zhí)行步驟204。
[0050] 請注意,判斷臨界值R會由視頻譯碼器102的預(yù)期視頻譯碼能力所對應(yīng)的初始值 Rini來加以設(shè)定,舉例來說,預(yù)期視頻譯碼器圖幀速率Rlexp以及預(yù)期輸入圖幀速率R2exp會 事先得知,以及判斷臨界值R會由預(yù)期視頻譯碼器圖幀速率Rlraip以及預(yù)期輸入圖幀速率 R\ R2exp之間的比值(例如=f)或者跟此比值成比例的數(shù)值來加以初始化,因此,當(dāng)視 exp 頻譯碼器102正在處理輸入比特流S_IN的第一個圖幀F(xiàn)tl時,由初始值Rini所設(shè)定的判斷臨 界值R會在步驟302中被使用,此外,判斷臨界值R可以在處理后續(xù)圖幀的過程中被適應(yīng)性 地/動態(tài)地更新(步驟308/316)。 MVf
[0051] 當(dāng)指示數(shù)據(jù)Sl(例如^")小于目前的判斷臨界值R時,代表目前圖幀F(xiàn)n相較 于先前的圖幀F(xiàn)tl?Flri具有較低的復(fù)雜度,因此,極有可能下一圖幀F(xiàn)n+1相較于先前的圖幀F(xiàn)tl?Fn也會具有較低的復(fù)雜度,基于此假設(shè),當(dāng)指示數(shù)據(jù)Sl小于目前的判斷臨界值R時, 控制器102便判定下一圖幀F(xiàn)n+1的譯碼操作是允許被略過的(步驟302與304),另一方面, 當(dāng)指示數(shù)據(jù)Sl并未小于目前的判斷臨界值R時,控制器102便判定下一圖幀F(xiàn)n+1的譯碼操 作應(yīng)該要被執(zhí)行(步驟302與312)。
[0052] 如上所述,在本實施方式中,判斷臨界值R可以適應(yīng)性地更新,在步驟306中,會檢 查視頻譯碼器102的視頻譯碼能力是否低于預(yù)期視頻譯碼能力,舉例來說,實際視頻譯碼 器圖幀速率Rlart以及實際輸入圖幀速率R2aet的比值(即已譯碼圖幀的個數(shù)與輸入圖幀的 個數(shù)的比值)會跟預(yù)期視頻譯碼器圖幀速率Rlexp以及預(yù)期輸入圖幀速率R2exp的比值進行 比較,當(dāng)^小于^^時,代表判斷臨界值R過高而超過所需數(shù)值,進而造成太多圖幀被 略過,因此,判斷臨界值R將會被降低以使得后續(xù)的圖幀有較高機率被譯碼;另一方面,當(dāng) 不小于^^時,則不會對判斷臨界值R進行任何調(diào)整。步驟306與308的操作可表 actexP 示如下:
【權(quán)利要求】
1. 一種處理具有多個圖幀與多個音頻幀的輸入比特流的方法,包含: 譯碼上述多個音頻幀以產(chǎn)生多個已譯碼音頻采樣;以及 當(dāng)上述多個已譯碼音頻采樣正被連續(xù)輸出以進行音頻播放時,控制視頻譯碼器來略過 上述多個圖幀之中一部分的圖幀。
2. 如權(quán)利要求1所述的方法,其特征在于,上述多個圖幀之中被略過的一部分的圖幀 具有一初始圖幀,其位于上述多個圖幀中至少一第一圖幀之后,以及上述方法另包含: 譯碼上述至少一第一圖幀以產(chǎn)生至少一第一已譯碼圖幀;以及 調(diào)整上述至少一第一已譯碼圖幀中每一第一已譯碼圖幀的原始視頻顯示時間戳記。
3. 如權(quán)利要求2所述的方法,其特征在于,上述至少一第一圖幀中每一第一圖幀是在 視頻播放與音頻播放不同步之后才被譯碼,以及上述多個圖幀之中一部分的圖幀是被略過 以使得視頻播放與音頻播放再次同步。
4. 如權(quán)利要求2所述的方法,其特征在于,上述多個圖幀之中被略過的一部分的圖幀 具有一結(jié)束圖幀,其位于上述多個圖幀中一第二圖幀之前,以及調(diào)整上述至少一第一已譯 碼圖幀中每一第一已譯碼圖幀的上述原始視頻顯示時間戳記的步驟包含: 估計上述至少一第一已譯碼圖幀之前的已譯碼圖幀的視頻顯示時間點與上述第二圖 幀所對應(yīng)的第二已譯碼圖幀的視頻顯示時間點之間的時間間隔;以及 依據(jù)上述時間間隔來調(diào)整上述至少一第一已譯碼圖幀中每一第一已譯碼圖幀的上述 原始視頻顯示時間戳記。
5. 如權(quán)利要求4所述的方法,其特征在于,上述多個圖幀之中被略過的一部分的圖幀 中的上述初始圖幀是位于多個第一圖幀之后,以及依據(jù)上述時間間隔來調(diào)整上述至少一第 一已譯碼圖幀中每一第一已譯碼圖幀的上述原始視頻顯示時間戳記的步驟包含: 調(diào)整上述多個第一圖幀所分別譯碼產(chǎn)生的多個第一已譯碼圖幀的原始視頻顯示時間 戳記,其特征在于,上述多個第一已譯碼圖幀的相對應(yīng)的調(diào)整后視頻顯示時間戳記是分布 在上述時間間隔之中。
6. -種處理具有多個圖幀與多個音頻幀的輸入比特流的信號處理裝置,包含: 音頻譯碼器,用以譯碼上述多個音頻幀以產(chǎn)生多個已譯碼音頻采樣; 視頻譯碼器;以及 控制器,耦接至上述視頻譯碼器,用以在上述多個已譯碼音頻采樣正被連續(xù)輸出以進 行音頻播放時,控制上述視頻譯碼器來略過上述多個圖幀中一部分的圖幀。
【文檔編號】H04N21/2343GK104363456SQ201410621031
【公開日】2015年2月18日 申請日期:2011年6月14日 優(yōu)先權(quán)日:2010年6月22日
【發(fā)明者】林建良, 謝芳易 申請人:聯(lián)發(fā)科技股份有限公司