專利名稱:解碼方法和記錄解碼程序的記錄媒體的制作方法
技術領域:
本發(fā)明涉及解碼編碼視頻和音頻信號的方法以及其上記錄解碼信號的程序的記錄媒體。
背景技術:
圖17是示出常用計算機的結(jié)構(gòu)示圖。在計算機的常用結(jié)構(gòu)中,通過總線1704,將作為計算單元的CPU1701、作為非易失性記錄媒體的硬盤1702和作為易失性記錄媒體的外部存儲器(緩沖器)1703相互連接。
標準化允許實時發(fā)送數(shù)字視頻和音頻數(shù)據(jù)的IEEE1394接口。在不久的將來可售得根據(jù)該標準的IEEE1394終端1705。
最近,當個人計算機的性能(下面稱為PC)時,可用軟件實際執(zhí)行視頻和音頻處理,而不必使用專用裝置。
圖18是用軟件在PC中解碼和再現(xiàn)編碼視頻和編碼音頻的方法的方框圖。把從音頻輸入部分1801輸入的編碼音頻信號輸入到音頻緩沖器1802,它將編碼音頻信號保持在預定解碼單元中(在這種情況下,視頻信號的一幀)。由音頻解碼部分1803解碼從音頻緩沖器1802讀取的編碼音頻信號,然后從音頻輸出部分1803輸出。類似地,把從音頻輸入部分1805輸入的編碼視頻信號輸入到視頻緩沖器1806,它以幀為單位保持編碼視頻信號。由視頻解碼部分1807解碼從視頻緩沖器1806讀取的編碼視頻信號,然后從視頻輸出部分1808輸出。
圖19是在把編碼視頻和編碼音頻作為多路復用(multiplexed)信號輸入到PC的情況下,通過軟件的解碼方法的方框圖。把從信號輸入部分1901輸入的多路復用信號輸入到緩沖器1902,它以幀為單位保持多路復用信號。音頻解碼部分1803和視頻解碼部分1807從由緩沖器1902保持的多路復用信號中提取編碼音頻和編碼視頻,并分別解碼它們。分別從音頻輸出部分1804和視頻輸出部分1808輸出解碼音頻和視頻。當在獲得和解碼某一幀的編碼信號(編碼音頻信號、編碼視頻信號或多路復用信號)的過程中,把下一幀的編碼信號輸入到緩沖器時,不能正確地執(zhí)行解碼。因此,不能把下一幀的信號輸入到緩沖器,除非完成解碼。由在PC中的CPU根據(jù)已編程的程序,執(zhí)行音頻解碼部分1803和視頻解碼部分1807的每一操作。CPU以線程(thread)為單位作為基本處理單元,執(zhí)行音頻解碼和視頻解碼,而且可能在一個線程中執(zhí)行音頻解碼和視頻解碼。
當通過運用上述傳統(tǒng)方法在PC中解碼視頻和音頻時,存在下列問題。
在PC中執(zhí)行的解碼處理的數(shù)量很大。特別是,在視頻解碼處理中的處理部分在數(shù)量上比在音頻解碼處理中的那些要大。因此,依賴于CPU的性能,不能實時解碼視頻和音頻信號的所有數(shù)據(jù)(在NTSC信號的情況下,t=1001/30[毫秒]或更短)。當不能實時解碼視頻和音頻信號的所有數(shù)據(jù)時,為了實現(xiàn)實時再現(xiàn),數(shù)據(jù)以幀為單位適當?shù)剡M行抽選而輸出。然而,當不能實時再現(xiàn)音頻信號的所有數(shù)據(jù)時,獲得模糊(dull)輸出,諸如慢再現(xiàn)的情況,或者發(fā)生聲音跳躍,從而再現(xiàn)很不悅耳的聲音。通過比較,相對于視頻信號,即使當大約對于每兩個或三個幀抽選一個幀時,也不產(chǎn)生明顯的視覺干擾。然而,在傳統(tǒng)技術中,不能適當?shù)貓?zhí)行調(diào)度,從而有可能大量地發(fā)生幀漏失。當實時輸入編碼信號時,如IEEE1394接口的情況,在某一幀的解碼處理結(jié)束之前輸入下一幀。因此,在傳統(tǒng)技術中,不能更新緩沖器并發(fā)生故障。
為了避免發(fā)生這種不方便的情況,可采用其中以幀為單位增加緩沖器的數(shù)量和并行執(zhí)行輸入和輸出操作的方法。然而,該方法存在著緩沖器的數(shù)量增加導致執(zhí)行這種處理的PC的生產(chǎn)成本增加的問題。當只增加緩沖器的數(shù)量而不對處理進行調(diào)度時,有可能CPU進入空閑狀態(tài)。
發(fā)明概述根據(jù)本發(fā)明,提供一種十分有效的解碼方法和解碼程序,它們能解決傳統(tǒng)技術中的這些問題,而且盡可能減小所需緩沖器的數(shù)量,并對數(shù)據(jù)輸入進行調(diào)度和以幀為單位解碼,從而實時再現(xiàn)音頻信號而不中斷,并增加視頻輸出率。
本發(fā)明的權利要求1是一種用于通過在音頻解碼裝置中,按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,
在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間遲于所述解碼目標時間,那么臨時中斷在所述視頻解碼裝置中解碼所述已編碼視頻信號的處理過程。
本發(fā)明的權利要求2是一種用于通過在音頻解碼裝置中按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間提前于所述解碼目標時間,那么臨時中斷在所述音頻解碼裝置中解碼所述已編碼音頻信號的處理過程,而且如果所述參考時間遲于所述解碼目標時間,那么臨時中斷在所述視頻解碼裝置中的解碼所述已編碼視頻信號的處理。
本發(fā)明的權利要求3是一種用于通過在音頻解碼裝置中按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間遲于所述解碼目標時間,那么優(yōu)先權設定裝置把所述視頻解碼裝置的優(yōu)先權設定得較低,或者把所述音頻解碼裝置的優(yōu)先權設定得較高。
本發(fā)明的權利要求4是一種用于通過在音頻解裝置中按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間提前于所述解碼目標時間,那么優(yōu)先權設定裝置將所述視頻解碼裝置的優(yōu)先權設定得更高,或者將所述音頻解碼裝置的優(yōu)先權設定得更低,而且如果所述參考時間遲于所述解碼目標時間,所述優(yōu)先權設定裝置設定所述視頻解碼裝置的所述優(yōu)先權使之更低,或者使所述音頻解碼裝置的所述優(yōu)先權更高。
本發(fā)明的權利要求7[原文為(6)]是一種用于通過解碼在一解碼單元中的已編碼視頻數(shù)據(jù)的解碼方法,其特征在于,在輸入在所述解碼單元中的所述已編碼視頻數(shù)據(jù)的情況下,用n個緩沖器號(n是自然數(shù))將所述已編碼視頻數(shù)據(jù)保持在所述解碼單元中,從所述緩沖器選擇已編碼視頻數(shù)據(jù),而且由視頻處理部分執(zhí)行解碼,當使用時在所述緩沖器上執(zhí)行輸入、選擇和解碼輸入處理號表示把已編碼視頻數(shù)據(jù)輸入到哪一個緩沖器;視頻處理號表示從哪一個緩沖器選擇正被解碼的已編碼視頻數(shù)據(jù);和視頻處理候選號表示存儲在結(jié)束所述視頻處理之后要選擇的已編碼視頻數(shù)據(jù)的緩沖器,由輸入控制裝置把在所述解碼單元中的所述已編碼視頻數(shù)據(jù)輸入到與所述輸入處理號相對應的緩沖器,當結(jié)束所述視頻處理時,把在所述結(jié)束時刻的視頻處理候選號設為下一個視頻處理號,而且解碼與所述視頻處理候選號相對應的緩沖器的已編碼視頻數(shù)據(jù),和當結(jié)束把所述解碼單元輸入到所述緩沖器時,把與其中剛結(jié)束所述輸入的緩沖器相對應的輸入處理號設為所述視頻處理候選號,而且把除了所述輸入處理號已設為的所述視頻處理候選號之外以及除了在所述結(jié)束時刻的所述視頻處理號之外的號設為所述新輸入處理號。
本發(fā)明的權利要求8[原文為(7)]是一種用于通過在解碼單元中解碼已編碼音頻數(shù)據(jù)和已編碼視頻數(shù)據(jù)來再現(xiàn)的解碼方法,其特征在于,在輸入其中多路復用在所述解碼單元中的所述已編碼視頻數(shù)據(jù)和在所述解碼單元中的所述已編碼音頻數(shù)據(jù)的多路復用數(shù)據(jù)的情況下,由n個緩沖器號(n是自然數(shù))在所述解碼單元中保持所述多路復用數(shù)據(jù),從所述緩沖器選擇已編碼的視頻數(shù)據(jù)和已編碼音頻數(shù)據(jù),并由視頻處理部分和音頻處理部分執(zhí)行解碼,當使用時在所述緩沖器上進行輸入、選擇和解碼時輸入處理號,它表示把已編碼視頻數(shù)據(jù)和已編碼音頻數(shù)據(jù)輸入到哪個所述緩沖器中;視頻處理號,它表示從哪個所述緩沖器選擇要解碼的已編碼視頻數(shù)據(jù);和視頻處理候選號,它表示在結(jié)束所述視頻處理之后存儲要選擇的已編碼視頻數(shù)據(jù)的緩沖器,由輸入控制裝置把在所述解碼單元中的所述多路復用數(shù)據(jù)輸入到與所述輸入處理號相對應的緩沖器,在結(jié)束把所述多路復用數(shù)據(jù)輸入到所述緩沖器之后,由所述音頻處理部分解碼所述已編碼音頻數(shù)據(jù),當結(jié)束視頻處理時,把在所述結(jié)束時刻的所述視頻處理候選號設為下一個視頻處理號,和解碼與所述視頻處理候選號相對應的緩沖器的已編碼視頻數(shù)據(jù),和當結(jié)束所述音頻解碼處理時,把與其中已結(jié)束所述音頻解碼處理的緩沖器對應的輸入處理號設成所述視頻處理候選號,而且把除了所述輸入處理號已設為的所述視頻處理的候選號以及在所述結(jié)束時刻的所述視頻處理號之外的號碼設為所述新的輸入處理號。
本發(fā)明的權利要求9[原文為(8)]是一種用于通過在解碼單元中解碼已編碼音頻數(shù)據(jù)和已編碼視頻數(shù)據(jù)來再現(xiàn)的解碼方法,其特征在于,在輸入其中多路復用在所述解碼單元中的所述已編碼視頻數(shù)據(jù)和在所述解碼單元中的所述已編碼音頻數(shù)據(jù)的多路復用數(shù)據(jù)的情況下,由n個緩沖器號(n是自然數(shù))在所述解碼單元中保持所述多路復用數(shù)據(jù),從所述緩沖器選擇已編碼音頻數(shù)據(jù)和由視頻處理部分和音頻處理部分執(zhí)行解碼,當使用時在所述緩沖器上進行輸入、選擇和解碼時輸入處理號,它表示把已編碼視頻數(shù)據(jù)和已編碼音頻數(shù)據(jù)輸入到哪個所述緩沖器中;視頻處理號,它表示從哪個所述緩沖器選擇要解碼的已編碼視頻數(shù)據(jù);音頻處理號,它表示從哪個所述緩沖器中選擇要解碼的已編碼音頻數(shù)據(jù);和視頻處理候選號,它表示在結(jié)束所述音頻處理之后存儲要選擇的已編碼視頻數(shù)據(jù)的緩沖器,由輸入控制裝置把在所述解碼單元中的所述多路復用數(shù)據(jù)輸入到與所述輸入處理號相對應的緩沖器,在結(jié)束把所述多路復用數(shù)據(jù)輸入到所述緩沖器之后,由所述音頻處理部分解碼所述已編碼音頻數(shù)據(jù),當結(jié)束視頻處理時,把在所述結(jié)束時刻的所述視頻處理候選號設為下一個視頻處理號,和解碼與所述視頻處理候選號相對應的緩沖器的已編碼視頻數(shù)據(jù),和當結(jié)束把所述解碼單元輸入到所述緩沖器時,把與其中已結(jié)束所述輸入的緩沖器相對應的輸入處理號設為所述音頻處理號和所述視頻處理候選號,而且(1)把除了所述輸入處理號已設為的所述音頻處理號之外,以及除了在所述輸入結(jié)束時刻的所述視頻處理號之外的號碼,或者(2)把除了所述輸入處理號已設為的所述視頻處理候選號之外,以及除了在所述輸入處理時刻的所述視頻處理號之外的號碼設為所述新輸入處理號。
本發(fā)明的權利要求10[原文如此]是一種用于通過在音頻解碼單元中解碼已編碼音頻數(shù)據(jù)來再現(xiàn)的解碼方法,其特征在于,在由m個緩沖器號(m是自然數(shù))保持所述音頻解碼單元中的所述已編碼音頻數(shù)據(jù)的情況下,從所述緩沖器選擇所述已編碼音頻數(shù)據(jù),而且由音頻處理部分執(zhí)行解碼,當運用時在所緩沖器上進行輸入、選擇和解碼輸入處理號,表示把已編碼音頻數(shù)據(jù)輸入到哪個所述緩沖器;和音頻處理號,表示從哪個所述緩沖器選擇要解碼的已編碼音頻數(shù)據(jù),當產(chǎn)生在與所述音頻解碼單元相對應的時間間隔內(nèi)產(chǎn)生的音頻參考信號時,導致與所述音頻輸入號相對應的音頻緩沖器開始輸入所述已編碼音頻數(shù)據(jù),從所述音頻處理號的音頻緩沖器中選擇所述已編碼音頻數(shù)據(jù),由所述音頻處理部分解碼所述已編碼音頻數(shù)據(jù),當結(jié)束在所述解碼單元中的已編碼音頻輸入時,由處理號更新裝置把與其中已結(jié)束所述輸入的緩沖器相對應的音頻輸入號設為所述音頻處理號,而且適當?shù)匕殉怂鲆纛l輸入號已設為的所述音頻處理號之外的號碼設為所述新音頻輸入號。
本發(fā)明的權利要求12[原文為(11)]是一種用于通過在解碼單元中解碼已編碼數(shù)據(jù)來輸入和再現(xiàn)的解碼方法,其特征在于,在由m個緩沖器號(m是自然數(shù))保持在所述解碼單元中的所述已編碼數(shù)據(jù)的情況下,從所述緩沖器選擇所述已編碼數(shù)據(jù),而且由處理部分執(zhí)行解碼,當結(jié)束把已編碼數(shù)據(jù)輸入到所述緩沖器時,把其中已結(jié)束所述輸入的多個緩沖器累加到處理候選表中,當從預定緩沖器中選擇已編碼數(shù)據(jù)用于解碼時,從所述處理候選表中刪除多個所述所選緩沖器;
當結(jié)束已編碼數(shù)據(jù)的處理時,在所述處理候選表中累加的緩沖器號之中,選擇其累加時間是最早的緩沖器號,而且由處理部分執(zhí)行解碼,和當輸入所述要編碼的數(shù)據(jù)時,檢查累加在所述處理候選表中的多個緩沖器號,而且如果所述號達到不大于所述緩沖器的數(shù)量m的預定號a,則不輸入編碼數(shù)據(jù),而且如果只累加其數(shù)量小于a的緩沖器號,那么輸入所述已編碼數(shù)據(jù)。
本發(fā)明的權利要求18[原文為(17)]是一種程序記錄媒體,其特征在于,把用于由計算機實現(xiàn)如權利要求1至17中任一權利要求所述的解碼方法的所有或一部分步驟的程序存儲在所述媒體中。
圖1是示出本發(fā)明的第一實施例的方框圖。
圖2是示出本發(fā)明的第二實施例的方框圖。
圖3是示出本發(fā)明的第三實施例的方框圖。
圖4是示出本發(fā)明的第四實施例的方框圖。
圖5是示出本發(fā)明的第五實施例的方框圖。
圖6是示處在本發(fā)明的第五實施例中的解碼方法的時序圖。
圖7是示出本發(fā)明的第六實施例的方框圖。
圖8是示出在本發(fā)明的第六實施例中的解碼方法的時序圖。
圖9是示出本發(fā)明的第七實施例的方框圖。
圖10是示出在本發(fā)明的第七實施例中的解碼方法的時序圖。
圖11是示出本發(fā)明的第八實施例的方框圖。
圖12是示出在本發(fā)明的第八實施例中的解碼方法的時序圖。
圖13是示出本發(fā)明的第九實施例的方框圖。
圖14是示出在本發(fā)明的第九實施例中的解碼方法的時序圖。
圖15是示出本發(fā)明的第十實施例的方框圖。
圖16是示出在本發(fā)明的第十實施例中的解碼方法的時序圖。
圖17是示出常用PC的結(jié)構(gòu)的示意圖。
圖18是示出解碼已編碼視頻和已編碼音頻的傳統(tǒng)方法的方框圖。
圖19是示出解碼經(jīng)多路復用的已編碼視頻和已編碼音頻的傳統(tǒng)方法的方框圖。
圖20是示出圖1的實施例的操作的時序圖。
實施本發(fā)明的最佳模式下面,參照附圖描述本發(fā)明的實施例。在下述的實施例中,作為用于視頻和音頻解碼處理的基本時間單元,采用NTSC信號的一個幀周期,t=1001/30[毫秒]。假設,將在實施例中描述的所有處理過程描述成用于PC的程序,由CPU進行計算,而且在不同線程中執(zhí)行視頻和音頻解碼。
圖1是示出本發(fā)明的第一實施例的方框圖。在圖1中,101表示音頻輸入部分、102表示視頻輸入部分、103表示音頻解碼部分、104表示視頻解碼部分、105表示音頻輸出部分、106表示音頻解碼完成時間、107表示處理中斷請求信號產(chǎn)生部分、108表示目標時間產(chǎn)生部分、109表示目標時間、110表示視頻解碼中斷請求信號和111表示視頻輸出部分。
下面,描述第一實施例的操作過程。
分別由音頻解碼部分103和視頻解碼部分104解碼從音頻輸入部分101輸入的編碼音頻信號和從視頻輸入部分102輸入的編碼視頻信號。
音頻解碼部分103把解碼音頻發(fā)送到音頻輸出部分105,來再現(xiàn)音頻,而且通知處理中斷請求信號產(chǎn)生部分關于音頻解碼完成時間106。
另一方面,由于實時執(zhí)行音頻再現(xiàn),所以目標時間產(chǎn)生部分108產(chǎn)生對于每幀的音頻解碼完成的目標時間109,而且通知處理中斷請求信號產(chǎn)生部分107所產(chǎn)生的目標時間。當將啟動處理的時間表示為s,完成對于第n幀的音頻解碼處理的目標時間是s+tn。
處理中斷請求信號產(chǎn)生部分107將由目標時間產(chǎn)生部分108所產(chǎn)生的目標時間109與音頻解碼完成時間106相比較,而且對于每幀檢測是否延遲解碼處理。
如果音頻解碼完成時間106慢于目標時間109(如果在目標時間之前沒有接收到完成報告,那么它確定音頻解碼完成時間滯后),那么處理中斷請求信號產(chǎn)生部分107把視頻解碼中斷請求信號110發(fā)送到音頻解碼部分104。當視頻解碼部分104接收視頻解碼中斷請求信號110時,視頻解碼部分104中斷視頻解碼處理。此時,CPU可以把更多的資源分配給音頻解碼處理。結(jié)果,可在早于目標時間的時間內(nèi)完成后面的音頻解碼處理。
如果處理中斷請求信號產(chǎn)生部分107檢測到音頻解碼完成時間106早于目標時間109,那么處理中斷請求信號產(chǎn)生部分107停止發(fā)送視頻解碼中斷請求信號110。此時,視頻解碼部分104開始解碼其中已完成音頻解碼的幀的視頻信號,而且從視頻輸出部分111輸出解碼視頻。
如上所述,在本發(fā)明的第一實施例中,當完成音頻解碼落在目標時間之后,那么中斷視頻處理,而且最好執(zhí)行音頻解碼處理,從而能夠?qū)崟r再現(xiàn)音頻信號。
依賴于CPU的性能,當中斷發(fā)送視頻解碼中斷請求信號110時,視頻解碼部分104可以在剛完成音頻解碼之后開始解碼一幀的視頻信號,從而可使視頻和音頻信號相互同步。
為了示出上述操作的流程,圖20示出操作的時序圖。
圖2是示出本發(fā)明的第二實施例的方框圖。在圖2中,201表示音頻解碼中斷請求信號。
下面,將描述第二實施例的操作過程,其中將重點放在與第一實施例不同之處。
以與第一實施例相同的方法,音頻解碼部分103產(chǎn)生音頻解碼完成時間106,而且目標時間產(chǎn)生部分108產(chǎn)生目標時間109。
如果檢測到音頻解碼完成時間106早于目標時間109,那么處理中斷請求信號產(chǎn)生部分107把音頻解碼中斷請求信號201發(fā)送到音頻解碼部分103,直至時間達到目標時間109。在接收到音頻解碼中斷請求信號201的期間內(nèi),音頻解碼部分103中斷音頻解碼處理。此時,CPU可以將更多資源分配給視頻解碼處理。結(jié)果,可以提高視頻再現(xiàn)率。
如果處理中斷請求信號產(chǎn)生部分107檢測到音頻解碼完成時間106慢于目標時間109,以與第一實施例相同的方法,處理中斷請求信號產(chǎn)生部分107把視頻解碼中斷請求信號110發(fā)送到視頻解碼部分104,來中斷視頻解碼處理,從而實時執(zhí)行音頻輸出。
如上所述,在本發(fā)明的實施例中,當早于目標時間完成音頻信號的解碼時,中斷音頻解碼處理,直至時間達到目標時間,而且在該期間內(nèi),將CPU資源分配給視頻解碼處理,從而能夠?qū)崟r再現(xiàn)音頻信號,而且可以改進視頻再現(xiàn)率。
在該實施例中,把音頻解碼中斷請求信號201的發(fā)送周期設為從音頻解碼完成時間延伸到解碼完成目標時間??稍谄渲幸纛l輸出的實時性不被削弱的范圍內(nèi),自由設定音頻解碼中斷請求信號201的發(fā)送周期。換句話說,可以縮短中斷周期,或者可使中斷長于目標。
圖3是示出本發(fā)明的第三實施例的方框圖。在圖3中,301表示優(yōu)先權設定部分,302表示視頻解碼優(yōu)先權。
下面,描述第三實施例的操作,其中將重點放在與第一實施例不同之處。
在該實施例中,為了說明簡單,假設優(yōu)先權具有三級0、1和2之一,而且數(shù)字越大,在CPU中的處理優(yōu)先權越高。
在啟動解碼處理之前,對于每個音頻和視頻解碼,設定在CPU中的處理優(yōu)先權。例如,作為優(yōu)先權的最初設定值,音頻解碼設為2,而視頻解碼設為1。
以與第一實施例相同的方法,音頻解碼部分103產(chǎn)生音頻解碼完成時間106,和目標時間產(chǎn)生部分108產(chǎn)生目標時間109。
如果優(yōu)先權設定部分301檢測到音頻解碼完成時間106在目標時間109之后,那么優(yōu)先權設定部分301將視頻解碼優(yōu)先權302設為0,從而使音頻解碼的優(yōu)先權相對較高。CPU根據(jù)它們的優(yōu)先權執(zhí)行處理調(diào)度。在這種情況下,最好執(zhí)行音頻解碼處理,從而可以保證音頻解碼的實時性。
如果檢測到音頻解碼完成時間106早于目標時間109,那么由優(yōu)先權設定部分301將視頻解碼優(yōu)先權從0返回到1。
如上所述,在本發(fā)明的第三實施例中,當完成音頻解碼落在目標時間之后,那么降低視頻信號的優(yōu)先權,從而相對提高音頻解碼的優(yōu)先權,從而最好在CPU中執(zhí)行音頻解碼,從而使得實時再現(xiàn)音頻。
圖4是示出本發(fā)明的第四實施例的方框圖。在圖4中,401表示音頻解碼優(yōu)先權。
下面,描述第四實施例的操作,其中將重點放在與第三實施例不同之處。
同樣在實施例中,假設優(yōu)先權具有三級0、1和2之一,而且當數(shù)字增大,在CPU中的處理優(yōu)先權越高。在啟動解碼處理之前,分別將音頻和視頻解碼的優(yōu)先權的初始設定值設為2和1。
以與第三實施例相同的方法,音頻解碼部分103產(chǎn)生音頻解碼完成時間106,和目標時間產(chǎn)生部分108產(chǎn)生目標時間109。
如果優(yōu)先權設定部分301檢測到音頻解碼完成時間106早于目標時間109,那么優(yōu)先權設定部分301設定音頻解碼優(yōu)先權401為0。此時,CPU最好執(zhí)行視頻解碼處理,結(jié)果為可以提高視頻再現(xiàn)率。當時間達到目標時間109時,音頻解碼優(yōu)先權401返回到初始設定值或2。
檢測到音頻解碼完成時間106慢于目標時間109,以與第三實施例相同的方法,優(yōu)先權設定部分301減小視頻解碼優(yōu)先權302,從而能夠保證了音頻解碼的實時性。
如上所述,在本發(fā)明的實施例中,在早于目標時間完成音頻信號的解碼時,降低音頻解碼優(yōu)先權,而且提高視頻解碼優(yōu)先權,直至時間到達目標時間,從而使得CPU最佳執(zhí)行視頻解碼處理。結(jié)果,可以提高視頻再現(xiàn)率,同時保持音頻的實時輸出。
在該實施例中,當早于目標時間完成音頻解碼時,降低音頻解碼優(yōu)先權。只要音頻解碼優(yōu)先權相對較低,而且視頻解碼優(yōu)先權相對較高,另一方面,可以任一方式選擇優(yōu)先權。相對降低音頻解碼優(yōu)先權的期間延長到目標時間??稍谝纛l輸出的實時性不削弱的范圍內(nèi)自由地設定該期間。
在第三和第四實施例中,優(yōu)先權具有三級。另一方面,優(yōu)先權可具有任何數(shù)量級別,而且可具有連續(xù)值,而不是如那些實施例的離散值。
圖5是示出本發(fā)明的第五實施例的方框圖。在圖5中,501表示數(shù)據(jù)輸入部分、502表示輸入控制部分、503表示緩沖器號設定部分、504表示緩沖器、505表示視頻緩沖器選擇部分、551表示輸入處理號、552表示視頻處理號和553表示視頻解碼端信號。
在下面的實施例中,假設緩沖器504具有緩沖器號0、1和2的三個子緩沖器。每個子緩沖器存儲一幀數(shù)據(jù)。假設數(shù)據(jù)輸入和視頻解碼在不同線程中進行操作。
接著,將描述該實施例的操作。
接著從數(shù)據(jù)輸入部分501輸入的編碼視頻數(shù)據(jù),輸入控制部分502指定與從緩沖器號設定部分503提供的輸入處理號551相對應的子緩沖器。由緩沖器504保持編碼視頻數(shù)據(jù)。
在輸入一幀數(shù)據(jù)之后,視頻緩沖器選擇部分505從與從緩沖器號設定部分503提供的視頻處理號552相對應的子緩沖器提取編碼視頻數(shù)據(jù),而且向視頻解碼部分104提供提取的數(shù)據(jù)。
在視頻解碼部分104中,解碼已編碼視頻,然后從視頻輸出部分111輸出。當對于一幀的視頻解碼結(jié)束時,向緩沖器號設定部分503提供視頻解碼結(jié)束信號553。
圖6是示出在本實施例的緩沖器號設定部分503中選擇輸入處理號和視頻處理號的時序圖。在圖6中,視頻處理候選號是子緩沖器號,其中當完成當前視頻解碼時,保持下面要解碼的幀,而且視頻處理號是當前經(jīng)受視頻處理的子緩沖器號。
對于圖5的輸入控制部分502,輸入處理號是當前經(jīng)受寫入處理的子緩沖器號。
在緩沖器號設定部分中,設定視頻處理候選號,以及與子緩沖器0、1或2相對應的輸入處理號和視頻處理號。將這些號的所有初始值設為“0”。
在時刻T0,開始輸入第0幀的數(shù)據(jù),而且把該數(shù)據(jù)輸入到與輸入處理號0相對應的子緩沖器0。當在時刻T1完成第0幀的輸入時,將視頻處理候選號更新為“0”,它是剛完成輸入的緩沖器號,而且把新輸入處理號設為子緩沖器1(“1”和“2”之一是可用的,而且在這種情況下,為了描述方便臨時設為“1”),它是除了視頻處理候選號之外(即,除了“0”之外)和視頻處理號之外(即,除了“0”之外)的號。
同時,將作為視頻處理候選號的“0“設為視頻處理號。在視頻緩沖器選擇部分中,從與視頻處理號1相對應的子緩沖器0獲得經(jīng)編碼視頻,而且開始視頻解碼處理。
在時刻T2,把第三幀的編碼視頻輸入到與輸入處理號0相對應的子緩沖器0。
當在時刻T3結(jié)束第三幀的編碼視頻的輸入,把作為輸入處理號的”0“設為視頻處理號,而且在時刻T3把作為除了視頻處理號之外(即,除了“2”之外)和除了更新視頻處理候選號(即,除了“0”之外)的號1設為新輸入處理號。
當在時刻T4完成把第四幀的編碼視頻輸入到緩沖器1,把作為輸入處理號的“1”設為視頻處理候選號,而且在時刻T4+ΔT(其中ΔT是微小時間期間),把作為除了視頻處理候選號“1”和視頻處理號2之外的號“0”指定為新輸入處理號。
當在時刻T5結(jié)束對已存儲在子緩沖器2中的第二幀的視頻解碼,在時刻T5把作為視頻處理候選號的“1”設為視頻處理號,而且在該時刻開始對由子緩沖器1保持的第四幀的解碼。
在圖6的情況下,不解碼第三幀。在視頻解碼過程中,即使當每幾幀發(fā)生大約一次幀漏失(slip),也不會發(fā)生視覺嚴重的問題。
如上所述,根據(jù)本實施例,當準備有至少三個幀的緩沖器時,可阻止正經(jīng)歷視頻解碼處理的緩沖器重寫有新編碼數(shù)據(jù)。因此,可以根據(jù)CPU的能力,以盡量高的速率執(zhí)行視頻再現(xiàn)。
在上述實施例中,準備有三個幀的子緩沖器。此外,當準備有四個或更多幀的子緩沖器時,獲得與準備有三個幀的子緩沖器的情況相同的效果。
圖7是示出本發(fā)明的第六實施例的方框圖。在圖7中,703表示緩沖器號設定部分、705表示音頻緩沖器選擇部分和751表示音頻解碼結(jié)束信號。
在該實施例中,以與第一實施例相同的方法,假設緩沖器504具有緩沖器號為0、1和2的三個子緩沖器。在該實施例中,假設在相同線程中執(zhí)行輸入處理和音頻處理,而且在把其中多路復用一幀的視頻和音頻數(shù)據(jù)的數(shù)據(jù)輸入到子緩沖器結(jié)束之后,立即開始音頻處理。因此,相同緩沖器號的子緩沖器包含相同幀的視頻和音頻數(shù)據(jù)。此外,假設在與用于輸入處理和音頻處理的線程不同的線程中執(zhí)行視頻處理。
接著,描述本實施例的操作過程。
在輸入控制部分502中,由與從緩沖器號設定部分703提供的輸入處理號551相對應的子緩沖器保持從數(shù)據(jù)輸入部分501輸入和其中多路復用編碼視頻和編碼音頻的數(shù)據(jù)。
在輸入一幀數(shù)據(jù)之后,音頻緩沖器選擇部分705從與從緩沖器號設定部分7303提供的輸入處理號551相對應的子緩沖器中(即,其中已完成數(shù)據(jù)輸入的子緩沖器)提取編碼音頻數(shù)據(jù),而且向音頻解碼部分103提供提取數(shù)據(jù)。
在音頻解碼部分103中,解碼已編碼音頻,然后從音頻輸出部分105輸出。當完成音頻解碼時,向緩沖器號設定部分703提供音頻解碼結(jié)束信號751。
視頻緩沖器選擇部分505從在緩沖器504中并與從緩沖器號設定部分703提供的視頻處理號552相對應的子緩沖器中提取編碼視頻數(shù)據(jù),而且向視頻解碼部分104提供所提取的數(shù)據(jù)。在視頻解碼部分104中,解碼已編碼視頻,然后從視頻輸出部分111輸出。當結(jié)束對于一幀的視頻解碼時,向緩沖器號設定部分703提供視頻解碼結(jié)束信號553。
圖8是在本實施例的緩沖器號設定部分703中的輸入處理號和視頻處理號的設定的時序圖。在圖8中,視頻處理候選號是子緩沖器號,其中當完成當前視頻解碼時,保持下一步要解碼的幀,而且視頻處理號是當前要經(jīng)歷視頻處理的子緩沖器號。
對于圖7的輸入控制部分502,輸入處理號是把一幀數(shù)據(jù)寫入的子緩沖器號。對于音頻緩沖器選擇部分,輸入處理號是從中讀取在一幀數(shù)據(jù)中的多路復用音頻數(shù)據(jù)的子緩沖器號。
在緩沖器號設定部分中,除了輸入處理號和視頻處理號,還設定視頻處理候選號。把這些號碼的所有初始值設為“0”。
如在
背景技術:
部分中所述,通常在音頻解碼處理中所需的計算小于在視頻解碼處理中所需的計算,而且相對于一幀的解碼處理時間期間,音頻短于視頻。為了阻止模糊音頻再現(xiàn)或發(fā)生聲音跳躍,有時將音頻解碼處理線程的優(yōu)先權設為高于視頻解碼處理的優(yōu)先權。
在時刻T0,把第0幀的數(shù)據(jù)輸入到與輸入處理號0相對應的子緩沖器0。當完成輸入時,從其中已完成輸入的子緩沖器0中立即提取編碼音頻,而且開始音頻解碼處理。
響應于從音頻解碼部分接收音頻解碼結(jié)束信號,緩沖器號設定部分703立即把輸入處理號輸入到視頻處理候選號,而且作為新輸入處理號,設定除了視頻處理號和更新視頻處理候選號之外的號碼。
在這種情況下,作為新輸入處理號,選擇除了視頻處理號之外的其他號,以阻止在此時正經(jīng)歷視頻處理的子緩沖器中發(fā)生重寫。作為新輸入處理號,選擇除了更新的視頻處理候選號之外的號,以便阻止在存有已被安排下一步進行視頻處理的數(shù)據(jù)的子緩沖器中發(fā)生重寫。
當從視頻解碼部分接收視頻解碼結(jié)束信號時,將作為緩沖器號的視頻處理候選號設為新視頻處理號,其中在上述緩沖器中已安排下一步對數(shù)據(jù)進行視頻處理。
當在圖8的時刻T1,結(jié)束對從子緩沖器1中提取的第一幀進行音頻解碼時,將就是先前的輸入處理號的“1”設為視頻處理候選號。
在T1+ΔT(其中ΔT是微小時間期間),輸入處理號是“1”,和視頻處理號是“0”。因此把“2”設為新輸入處理號。
于是,在時刻T2,通知結(jié)束對從緩沖器0提取的第0幀的視頻解碼。因此,在時刻T2,將作為視頻處理候選號的“1”設為新視頻處理號。
類似地,在時刻T3,通知結(jié)束對從子緩沖器0提取的第三幀的音頻解碼,而且把就是先前輸入的處理號的“0”設為視頻處理候選號。在時刻T3+ΔT(其中ΔT是微小時間期間),輸入處理號是“0”,而且視頻處理號是“2.”。因此,新輸入處理號是“1”,它是除了“0”和“2”之外的值。
在本實施例中,當在如圖6的第二幀的情況下,在某一視頻解碼期間多次發(fā)送音頻解碼結(jié)束信號,在再現(xiàn)視頻中發(fā)生幀跳躍。
然而,相對于視頻信號,即使在每幾幀中發(fā)生大約一幀跳躍,也不會產(chǎn)生視覺問題。
如上所述,根據(jù)本實施例,準備有用于至少三個幀的緩沖器,而且進行如本實施例中所述的緩沖器管理,從而可以輸入音頻解碼,而不缺乏任一幀,而且阻止用新多路復用數(shù)據(jù)重寫經(jīng)歷視頻解碼處理的緩沖器。因此,在音頻再現(xiàn)期間不發(fā)生聲音跳躍,而且根據(jù)CPU的能力,以盡可能高的速率執(zhí)行視頻再現(xiàn)。
如果簡單地保持用于三個幀的緩沖器而且不執(zhí)行本實施例的緩沖器操作,有可能在保持最初應下一步再現(xiàn)的數(shù)據(jù)的緩沖器上進行重寫,而且不僅降低圖象再現(xiàn)率,而且丟失音頻再現(xiàn)。
一幀的解碼音頻信號是異步的。因此,當音頻輸出部分具有緩沖器和音頻輸出參考信號,而且根據(jù)音頻輸出參考信號,逐一再現(xiàn)幀時,正確地再現(xiàn)音頻,而不使它模糊。當向視頻輸出部分提供音頻輸出參考信號時,可相互同步地輸出視頻和音頻。
在該實施例中,當結(jié)束輸入處理時,立即開始音頻解碼處理。關于可在一幀期間內(nèi)結(jié)束輸入處理和音頻解碼處理,本發(fā)明并不限于此。
在上述實施例中,準備有三幀的子緩沖器。此外,當準備有4個或更多個幀的子緩沖器時,獲得與準備有三幀的子緩沖器的情況相同的效果。
圖9是示出本發(fā)明的第七實施例的示圖。在圖9中,903表示緩沖器號設定部分、951表示輸入結(jié)束信號和952表示音頻緩沖器號。
在本實施例中,以與第五實施例相同的方法,假設緩沖器504具有緩沖器號0、1和2的三個子緩沖器。在該實施例中,假設輸入處理、音頻處理和視頻處理分別在不同的線程中進行。
接著,描述本實施例的操作。
在輸入控制部分502中,由與輸入處理號551相對應的子緩沖器保持從數(shù)據(jù)輸入部分501輸入和其中多路復用編碼視頻和編碼音頻的數(shù)據(jù)。
當完成一幀的數(shù)據(jù)的輸入,緩沖器504把輸入結(jié)束信號951輸入到緩沖器號設定部分903。
在緩沖器號設定部分903中,當接收輸入結(jié)束信號時,把輸入處理號設為音頻處理號952和視頻處理候選號,而且把音頻處理號952立即發(fā)送到音頻緩沖器選擇部分705。
把除了視頻處理號和音頻處理號之外的號碼設為新輸入處理號。音頻緩沖器選擇部分705從與音頻處理信號952相對應的子緩沖器中提取編碼音頻數(shù)據(jù),而且向音頻解碼部分103提供提取的數(shù)據(jù)。
視頻解碼以與第六實施例相同的方法進行操作。
圖10是選擇在本實施例中的緩沖器號設定部分903中的輸入處理號、音頻處理號和視頻處理號的時序圖。
在時刻T0,開始把第0個幀的多路復用時間輸入到與輸入處理號0相對應的子緩沖器0。當在時刻T1完成輸入時,將輸入結(jié)束信號951從緩沖器發(fā)送到緩沖器號設定部分,把“0”設為音頻處理號和視頻處理候選號,而且把除了視頻處理號“0”和音頻處理號“0”之外的號碼(在該情況下,“1”)設為新輸入處理號。同時,從子緩沖器0提取編碼音頻,而且開始音頻解碼。
此外,立即將視頻處理候選號0設為視頻處理號、從子緩沖器0提取編碼視頻和開始視頻解碼處理。
在時刻T2,開始把第二幀的多路復用數(shù)據(jù)輸入到子緩沖器2。
當在時刻T3完成把第二幀的多路復用數(shù)據(jù)輸入到子緩沖器2,把作為完成輸入的緩沖器號的“2”設為音頻處理號和視頻處理候選號,而且立即開始音頻解碼第二幀。此外,在時刻T3,把除了視頻處理號“1”和音頻處理號“2”之外的“0”設為新輸入處理號。
相比之下,在時刻T4,結(jié)束從子緩沖器提取的第一幀的視頻解碼。此時,在時刻T4,將視頻處理候選號“0”設為視頻處理號,而且在下一個視頻解碼處理過程中,開始解碼由子緩沖器0保持的第三幀。
如上所述,根據(jù)本實施例,準備有至少三幀的緩沖器,而且進行在該實施例中所述的緩沖器管理,從而執(zhí)行音頻解碼,而不缺乏任何幀,可進行再現(xiàn),而沒有任何聲音跳躍,而且阻止用新編碼數(shù)據(jù)重寫到要經(jīng)歷視頻解碼處理的緩沖器時。因此,還可根據(jù)CPU的能力,以盡可能高的速率執(zhí)行視頻再現(xiàn)。
如果簡單地保持有三個幀的緩沖器,而且不執(zhí)行本實施例的緩沖器操作,那么有可能在保持原本應接著再現(xiàn)的數(shù)據(jù)的緩沖器上進行重寫,而且不僅會減小圖象再現(xiàn)率,而且會丟失音頻再現(xiàn)。
第七實施例具有其中從緩沖器號設定部分903發(fā)送音頻處理信號952的結(jié)構(gòu)。另一方面,可以采用其中直接從緩沖器504發(fā)送信號的結(jié)構(gòu)。
在該實施例中,在結(jié)束一幀的輸入之后立即開始音頻解碼。關于音頻解碼處理可保持實時性,本發(fā)明并不局限于此。
在該實施例中,準備有三個幀的子緩沖器。此外,當準備有四個或多個幀的子緩沖器時,獲得與準備有三個幀的子緩沖器的情況相同的效果。
圖11是示出本發(fā)明第八實施例的示圖。在圖11中,1101表示參考信號產(chǎn)生部分,和1151表示參考信號。
接著,描述本實施例的操作情況,其中把重點放在與第七實施例不同的地方。
在該實施例中,以與第七實施例相同的方法,假設分別在不同的線程中執(zhí)行輸入處理、音頻處理和視頻處理。
參考信號產(chǎn)生部分1101向輸入控制部分502提供參考信號1151,在一幀周期內(nèi)一次(在NTSC信號的情況下,大約1/30秒或更正確地1001/30毫秒)。當輸入?yún)⒖夹盘?151時,輸入控制部分502開始從數(shù)據(jù)輸入部分501獲得多路復用數(shù)據(jù),而且向與從緩沖器號設定部分503相對應的子緩沖器提供多路復用數(shù)據(jù)。當完成對一幀數(shù)據(jù)的輸入時,緩沖器504把輸入結(jié)束信號951發(fā)送到緩沖器號設定部分903。
在緩沖器號設定部分903中,當接收輸入結(jié)束信號951時,把輸入處理號設為音頻處理號952和視頻處理候選號,而且立即把音頻處理號952發(fā)送到音頻緩沖器選擇部分305。把除了視頻處理號和音頻處理號之外的號碼設為新輸入處理號。音頻緩沖器選擇部分705從與音頻處理信號952相對應的子緩沖器中提取編碼音頻數(shù)據(jù),而且向音頻解碼部分103提供已提取的數(shù)據(jù)。
視頻解碼以與第七實施例相同的方法進行操作。
圖12是示出選擇在本實施例的緩沖器號設定部分903中的輸入處理號、音頻處理號和視頻處理號的時序圖。
當在時刻T0輸入?yún)⒖夹盘枙r,根據(jù)輸入處理號0,開始把第0幀的多路復用數(shù)據(jù)輸入到子緩沖器0。當在時刻T1完成輸入時,把輸入結(jié)束信號從緩沖器發(fā)送到緩沖器號設定部分,把“0”設為音頻處理號和視頻處理候選號,而且把除了視頻處理號“0”和音頻處理號“0”之外的號碼(在該情況下是“1”)設為新輸入處理號。同時,從緩沖器0提取編碼音頻,而且開始音頻解碼處理。
此外,把視頻處理候選號“0”立即設為視頻處理號,從子緩沖器0提取編碼視頻和開始視頻解碼處理。
當在時刻T2輸入下一個參考信號時,把第一幀的多路復用數(shù)據(jù)輸入到與輸入處理號“1”相對應的子緩沖器1。
其它操作與第七實施例的那些相同。
如上所述,根據(jù)實施例,準備有至少三個幀的緩沖器,而且進行在該實施例中所述的緩沖器管理,從而可以有效地解碼和再現(xiàn)視頻和音頻信號。特別是,當在本實施例中運用參考信號,以一幀為單位執(zhí)行多路復用數(shù)據(jù)的輸入而沒有延遲,而且阻止發(fā)生由于視頻解碼處理所導致的異常再現(xiàn)。
在第六、第七和第八實施例中,可以執(zhí)行只有視頻的再現(xiàn)或者只有音頻的再現(xiàn)。
圖13是示出本發(fā)明的第九實施例的示圖。在圖13中,1301表示參考信號再現(xiàn)部分、1302表示音頻數(shù)據(jù)輸入部分、1303表示音頻輸入控制部分、1304表示緩沖器號設定部分、1305表示音頻緩沖器、1306表示音頻緩沖器選擇部分、1307表示音頻解碼部分、1308表示音頻輸出部分和1351表示參考信號。
在該實施例中,假設音頻緩沖器具有兩個子緩沖器0和1,而且在不同的線程中執(zhí)行音頻輸入處理和音頻解碼處理。接著,描述本實施例的操作。
參考信號產(chǎn)生部分1301向音頻輸入控制部分1302提供參考信號1351,一幀期間內(nèi)一次(在NTSC信號的情況下,大約1/30秒,或者更正確是1001/30毫秒)。
當輸入?yún)⒖夹盘?351,音頻輸入控制部分1303開始獲得來自音頻數(shù)據(jù)輸入部分1302的編碼音頻數(shù)據(jù),而且由在與音頻輸入號1352相對應的音頻緩沖器1305中的子緩沖器保持該數(shù)據(jù),其中所述從緩沖器號設定部分1304提供所述音頻輸入號1352。當完成一幀的編碼音頻數(shù)據(jù)的輸入時,音頻緩沖器1305把音頻輸入結(jié)束信號1353輸入到緩沖器號設定部分1304。
在緩沖器號設定部分1304中,當接收到音頻輸入結(jié)束信號1353時,立即把音頻處理號1354發(fā)送到音頻緩沖器選擇部分1306。音頻緩沖器選擇部分1306從在音頻緩沖器1305中并與音頻處理號1354相對應的子緩沖器提取編碼音頻數(shù)據(jù),而且向音頻解碼部分1307提供提取的數(shù)據(jù)。音頻解碼部分1307解碼編碼音頻數(shù)據(jù),而且向音頻輸出部分1308提供解碼數(shù)據(jù),來執(zhí)行音頻再現(xiàn)。
圖14是示出在本實施例中的緩沖器號設定部分1304中選擇音頻輸入號和音頻處理號的時序圖。
當在時刻T0產(chǎn)生參考信號時,把“0”設為音頻輸入號,而且開始第0幀的編碼音頻數(shù)據(jù)的輸入。輸入的目的地是音頻緩沖器的子緩沖器0。
當在時刻T1結(jié)束第0幀的音頻輸入時,把作為音頻輸入號的“0”設為音頻處理號,而且把除了“0”之外的號(即,“1”)設為音頻輸入號。同時,從與音頻處理號0相對應的子緩沖器0獲得第0幀的編碼音頻數(shù)據(jù),而且開始音頻解碼。
當在時刻T2產(chǎn)生參考信號時,把第一幀的編碼音頻數(shù)據(jù)輸入到于音頻輸入號“1”相對應的音頻緩沖器的子緩沖器1。
當采用主要被用作CPU的奔騰或更高的處理器時,通??稍诖蟠蠖逃谝粠陂g的期間內(nèi)結(jié)束對于一幀的音頻解碼處理。即使當在時刻T3結(jié)束第三幀的編碼音頻的輸入時,可在時刻T4開始下一編碼音頻的輸入之前結(jié)束解碼,從而再現(xiàn)音頻再現(xiàn),而不產(chǎn)生任何問題。
如上所述,根據(jù)本實施例中,當準備有至少兩個幀的緩沖器時,在大多數(shù)情況下可進行音頻解碼而不缺少任何幀,可進行再現(xiàn)而不會導致聲音跳躍。
圖15是示出本發(fā)明的第十實施例的方框圖。在圖15中,1501表示數(shù)據(jù)輸入部分、1502表示輸入控制部分、1503表示輸入抑制信號設定部分、1504表示緩沖器、1505表示視頻處理候選表保持部分、1506表示視頻解碼部分、1507表示視頻輸出部分、1551表示輸入候選幀號、1552表示輸入抑制信號、1553表示輸入結(jié)束信號、1554表示視頻處理幀號和1555表示解碼結(jié)束信號。在該實施例中,解碼單元是一幀,而解碼單元號是該幀號。
接著,描述本實施例的操作。
向輸入控制部分1502提供輸入到數(shù)據(jù)輸入部分1501的編碼視頻數(shù)據(jù),同時將幀號設為輸入候選幀號1551。如果從輸入抑制信號設定部分1503提供的輸入抑制信號1552是OFF(關),那么輸入控制部分把輸入候選幀的編碼視頻數(shù)據(jù)輸入到緩沖器1503。
當完成編碼視頻數(shù)據(jù)的輸入時,向視頻處理候選表保持部分1504提供輸入結(jié)束信號1553。視頻處理候選表保持部分1504根據(jù)其中保持的視頻處理候選表控制輸入抑制信號設定部分1503。
視頻解碼部分1506接收從視頻處理候選表保持部分1505提供的視頻處理幀1554、解碼相應幀并向視頻輸出部分1507提供解碼數(shù)據(jù)。當結(jié)束視頻解碼時,向視頻處理候選表保持部分1505提供解碼結(jié)束信號1555。
圖16是示出在該實施例中的輸入候選幀號、視頻處理候選表、輸入抑制信號和視頻處理幀的操作的時序圖。
假設,在處理開始之前,視頻處理候選表是空集(φ),而且輸入抑制信號是OFF。
當在時刻T0把第0幀的編碼視頻數(shù)據(jù)輸入到輸入部分,獲得輸入候選幀號“0”。由于輸入抑制信號是OFF,所以輸入控制部分開始在時刻T1重寫輸入緩沖器,和把下一幀的幀號設為輸入候選幀號。
當在時刻T2完成輸入時,把已完成其輸入的輸入處理幀號“0”加到視頻處理候選表。然而,立即把視頻處理候選表的頂部元素(top element)設為視頻處理幀,而且從視頻處理候選表中去除,并開始視頻解碼處理。
當在時刻T3完成把第一幀輸入到緩沖器時,把“1”加到視頻處理候選表。由于處理視頻解碼,所以視頻處理候選表變成{1}。
在時刻T4結(jié)束第0幀的視頻解碼。因此,從視頻處理候選表去除“1”,而且該表變成φ。
當在時刻T5完成第三幀的輸入時,就在視頻處理候選表之前的是{2},而且把3加到后面,從而該表變成{2,3}。此時,視頻處理候選表的元素量變成2,而且輸入抑制信號被設為ON(開)。
在時刻T6,輸入候選幀號是“4.“。此時,輸入抑制信號是ON,而且不執(zhí)行第四幀的輸入。
當在時刻T7結(jié)束第一幀的解碼時,開始與作為視頻處理候選表的頂部元素的“2”相對應的第二幀的解碼處理,而且從視頻處理候選表中去除“2”。
同時,由于從中已去除“2”的視頻處理候選表是{3},而且元素數(shù)量是1,所以把輸入抑制信號設為OFF。
如上所述,根據(jù)本實施例,當視頻解碼處理時間期間比輸入時間期間相對較長時,根據(jù)輸入處理和解碼處理之間的時間差抑制到緩沖器的輸入,從而允許CPU把更多資源分配給視頻解碼。結(jié)果,可以提高視頻再現(xiàn)。
實現(xiàn)本發(fā)明的解碼方法作為解碼裝置,以及作為在PC中操作的程序??蓪⒃摮绦蛴涗浽谥T如磁盤的記錄媒體上,而且可容易地移裝(port)在另一個PC上。此外,可通過網(wǎng)絡將該程序移到另一個計算機上。
工業(yè)應用性如上所述,根據(jù)本發(fā)明,當運用PC通過軟件解碼經(jīng)編碼視頻或編碼音頻時,可以更有效地解碼音頻解碼和視頻解碼,同時可實時再現(xiàn)所有視頻數(shù)據(jù),而且可提高視頻再現(xiàn)率。
當執(zhí)行PC的體系結(jié)構(gòu)(CPU的性能、總線速率、總線形式,等)在性能上不低于主要在當前使用的,本發(fā)明是有效的,而且它的實踐達到良好的效果。
在本發(fā)明中的編碼音頻信號包括通過采樣音頻信號和簡單地重排列采樣獲得的信號,以及通過采樣音頻信號和使得樣本經(jīng)歷高效編碼獲得的信號??蓪崿F(xiàn)本發(fā)明的解碼方法作為在PC上操作的程序??稍谥T如磁盤的記錄媒體上記錄該程序,而且可容易地移裝在另一個PC上。此外,通過網(wǎng)絡可將該程序移到另一個計算機。
權利要求
1.一種用于通過在音頻解碼裝置中按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間遲于所述解碼目標時間,那么臨時中斷在所述視頻解碼裝置中解碼所述已編碼視頻信號的處理過程。
2.一種用于通過在音頻解碼裝置中按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間提前于所述解碼目標時間,那么臨時中斷在所述音頻解碼裝置中解碼所述已編碼音頻信號的處理過程,而且如果所述參考時間遲于所述解碼目標時間,那么臨時中斷在所述視頻解碼裝置中的解碼所述已編碼視頻信號的處理。
3.一種用于通過在音頻解碼裝置中按每個解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間遲于所述解碼目標時間,那么優(yōu)先權設定裝置將所述視頻解碼裝置的優(yōu)先權設定得更低,或者將所述音頻解碼裝置的優(yōu)先權設定得更高。
4.一種用于通過在音頻解碼裝置中按每解碼單元解碼已編碼音頻信號又在視頻解碼裝置中解碼已編碼視頻信號以再現(xiàn)的解碼方法,其中通過沿著時軸劃分所述已編碼音頻信號來獲得所述每個解碼單元,其特征在于,確定對于每個所述解碼單元的解碼目標時間,輸出對于每個所述解碼單元的解碼處理的參考時間,在所述解碼單元中,把所述參考時間與和所述參考時間相對應的所述解碼目標時間相比較,而且如果所述參考時間提前于所述解碼目標時間,那么優(yōu)先權設定裝置將所述視頻解碼裝置的優(yōu)先權設定得更高,或者將所述音頻解碼裝置的優(yōu)先權設定得更低,而且如果所述參考時間遲于所述解碼目標時間,所述優(yōu)先權設定裝置將所述視頻解碼裝置的所述優(yōu)先權設定得更低,或者將所述音頻解碼裝置的所述優(yōu)先權設定得更高。
5.如權利要求1至4中任一權利要求所述的解碼方法,其特征在于,所述參考時間是所述解碼單元的解碼的開始時間或結(jié)束時間。
6.如權利要求1至5中任一權利要求所述的解碼方法,其特征在于,所述解碼單元是一幀的視頻信號。
7.一種用于通過解碼在一解碼單元中的已編碼視頻數(shù)據(jù)的再現(xiàn)的解碼方法,其特征在于,在輸入在所述解碼單元中的所述已編碼視頻數(shù)據(jù)的情況下,用n個緩沖器號(n是自然數(shù))將所述已編碼視頻數(shù)據(jù)保持在所述解碼單元中,從所述緩沖器選擇已編碼視頻數(shù)據(jù),而且由視頻處理部分執(zhí)行解碼,當使用時在所述緩沖器上執(zhí)行輸入、選擇和解碼輸入處理號表示把已編碼視頻數(shù)據(jù)輸入到哪一個緩沖器;視頻處理號表示從哪一個緩沖器選擇正被解碼的已編碼視頻數(shù)據(jù);和視頻處理候選號表示在結(jié)束所述視頻處理之后存儲要選擇的已編碼視頻數(shù)據(jù)的緩沖器,由輸入控制裝置把在所述解碼單元中的所述已編碼視頻數(shù)據(jù)輸入到與所述輸入處理號相對應的緩沖器,當結(jié)束所述視頻處理時,把在所述結(jié)束時刻的視頻處理候選號設為下一個視頻處理號,而且解碼與所述視頻處理候選號相對應的緩沖器的已編碼視頻數(shù)據(jù),和當結(jié)束把所述解碼單元輸入到所述緩沖器時,把與其中剛結(jié)束所述輸入的緩沖器相對應的輸入處理號設為所述視頻處理候選號,而且把除了所述輸入處理號已設為的所述視頻處理候選號之外以及除了在所述結(jié)束時刻的所述視頻處理號之外的號設為所述新輸入處理號。
8.一種用于通過在解碼單元中解碼已編碼音頻數(shù)據(jù)和已編碼視頻數(shù)據(jù)來再現(xiàn)的解碼方法,其特征在于,在輸入其中多路復用在所述解碼單元中的所述已編碼視頻數(shù)據(jù)和在所述解碼單元中的所述已編碼音頻數(shù)據(jù)的多路復用數(shù)據(jù)的情況下,由n個緩沖器號(n是自然數(shù))在所述解碼單元中保持所述多路復用數(shù)據(jù),從所述緩沖器選擇已編碼音頻數(shù)據(jù)和由視頻處理部分和音頻處理部分執(zhí)行解碼,當使用時在所述緩沖器上進行輸入、選擇和解碼時輸入處理號,它表示把已編碼視頻數(shù)據(jù)和已編碼音頻數(shù)據(jù)輸入到哪個所述緩沖器中;視頻處理號,它表示從哪個所述緩沖器選擇要解碼的已編碼視頻數(shù)據(jù);和視頻處理候選號,它表示在結(jié)束所述視頻處理之后存儲要選擇的已編碼視頻數(shù)據(jù)的緩沖器,由輸入控制裝置把在所述解碼單元中的所述多路復用數(shù)據(jù)輸入到與所述輸入處理號相對應的緩沖器,在把所述多路復用數(shù)據(jù)輸入到所述緩沖器結(jié)束之后,由所述音頻處理部分解碼所述已編碼音頻數(shù)據(jù),當結(jié)束視頻處理時,把在所述結(jié)束時刻的所述視頻處理候選號設為下一個視頻處理號,和解碼與所述視頻處理候選號相對應的緩沖器的已編碼視頻數(shù)據(jù),和當結(jié)束所述音頻解碼處理時,把其中已結(jié)束所述音頻解碼處理的緩沖器設到所述視頻處理候選號,而且把除了所述輸入處理號已設為的所述視頻處理候選號以及在所述結(jié)束時刻的所述視頻處理號之外的號碼設為所述新的輸入處理號。
9.一種用于通過在解碼單元中解碼已編碼音頻數(shù)據(jù)和已編碼視頻數(shù)據(jù)來再現(xiàn)的解碼方法,其特征在于,在輸入其中多路復用在所述解碼單元中的所述已編碼視頻數(shù)據(jù)和在所述解碼單元中的所述已編碼音頻數(shù)據(jù)的多路復用數(shù)據(jù)的情況下,由n個緩沖器號(n是自然數(shù))在所述解碼單元中保持所述多路復用數(shù)據(jù),從所述緩沖器選擇已編碼音頻數(shù)據(jù)和由視頻處理部分和音頻處理部分執(zhí)行解碼,當使用時在所述緩沖器上進行輸入、選擇和解碼時輸入處理號,它表示把已編碼視頻數(shù)據(jù)和已編碼音頻數(shù)據(jù)輸入到哪個所述緩沖器中;視頻處理號,它表示從哪個所述緩沖器選擇要解碼的已編碼視頻數(shù)據(jù);音頻處理號,它表示從哪個所述緩沖器中選擇要解碼的已編碼音頻數(shù)據(jù);和視頻處理候選號,它表示在結(jié)束所述音頻處理之后存儲要選擇的已編碼視頻數(shù)據(jù)的緩沖器,由輸入控制裝置把在所述解碼單元中的所述多路復用數(shù)據(jù)輸入到與所述輸入處理號相對應的緩沖器,在把所述多路復用數(shù)據(jù)輸入到所述緩沖器結(jié)束之后,由所述音頻處理部分解碼所述已編碼音頻數(shù)據(jù),當結(jié)束視頻處理時,把在所述結(jié)束時刻的所述視頻處理候選號設為下一個視頻處理號,和解碼與所述視頻處理候選號相對應的緩沖器的已編碼視頻數(shù)據(jù),和當結(jié)束把所述解碼單元輸入到所述緩沖器時,把與其中已結(jié)束所述輸入的緩沖器相對應的輸入處理號設為所述音頻處理號和所述視頻處理候選號,而且(1)把除了所述輸入處理號已設為的所述音頻處理號之外,以及除了在所述輸入結(jié)束時刻的所述視頻處理號之外的號碼,或者(2)把除了所述輸入處理號已設為的所述視頻處理候選號之外,以及除了在所述輸入處理時刻的所述視頻處理號之外的號碼設為所述新輸入處理號。
10.如權利要求9所述的解碼方法,其特征在于,根據(jù)預定參考信號,輸入要輸入到所述緩沖器的所述多路復用數(shù)據(jù)。
11.一種用于通過在音頻解碼單元中解碼已編碼音頻數(shù)據(jù)來再現(xiàn)的解碼方法,其特征在于,在由m個緩沖器號(m是自然數(shù))保持所述音頻解碼單元中的所述已編碼音頻數(shù)據(jù)的情況下,從所述緩沖器選擇所述已編碼音頻數(shù)據(jù),而且由音頻處理部分執(zhí)行解碼,當運用時在所緩沖器上進行輸入、選擇和解碼輸入處理號,表示把已編碼音頻數(shù)據(jù)輸入到哪個所述緩沖器;和音頻處理號,表示從哪個所述緩沖器選擇要解碼的已編碼音頻數(shù)據(jù),當產(chǎn)生在與所述音頻解碼單元相對應的時間間隔內(nèi)產(chǎn)生的音頻參考信號時,導致與所述音頻輸入號相對應的音頻緩沖器開始輸入所述已編碼音頻數(shù)據(jù),從所述音頻處理號的音頻緩沖器中選擇所述已編碼音頻數(shù)據(jù),由所述音頻處理部分解碼所述已編碼音頻數(shù)據(jù),當結(jié)束在所述解碼單元中的已編碼音頻輸入時,由處理號更新裝置把與其中已結(jié)束所述輸入的緩沖器相對應的音頻輸入號設為所述音頻處理號,而且適當?shù)匕殉怂鲆纛l輸入號已設為的所述音頻處理號之外的號碼設為所述新音頻輸入號。
12.一種用于通過在解碼單元中解碼已編碼數(shù)據(jù)來輸入和再現(xiàn)的解碼方法,其特征在于,在由m個緩沖器號(m是自然數(shù))保持在所述解碼單元中的所述已編碼數(shù)據(jù)的情況下,從所述緩沖器選擇所述已編碼數(shù)據(jù),而且由處理部分執(zhí)行解碼,當結(jié)束把已編碼數(shù)據(jù)輸入到所述緩沖器時,把其中已結(jié)束所述輸入的多個緩沖器累加到處理候選表中,當從預定緩沖器中選擇已編碼數(shù)據(jù)用于解碼時,從所述處理候選表中刪除多個所述所選緩沖器;當結(jié)束已編碼數(shù)據(jù)的處理時,在所述處理候選表中累加的緩沖器號之間,選擇其累加時間是最早的緩沖器號,而且由處理部分執(zhí)行解碼,和當輸入所要編碼數(shù)據(jù)時,檢查在所述處理候選表中累加的多個緩沖器號,而且如果所述號達到大于所述緩沖器的數(shù)量m的預定號a,而且如果只累加其數(shù)量小于a的緩沖器號,那么輸入所述已編碼數(shù)據(jù)。
13.如權利要求7、8、9或10中任一權利要求所述的解碼方法,其特征在于,所述解碼單元是一幀視頻。
14.如權利要求7、8、9或10中任一權利要求所述的解碼方法,其特征在于,n是等于或大于3的自然數(shù)。
15.如權利要求11所述的解碼方法,其特征在于,m是等于或大于2的自然數(shù)。
16.如權利要求12所述的解碼方法,其特征在于,所述已編碼數(shù)據(jù)是已編碼視頻數(shù)據(jù),而且所述解碼單元是一幀視頻。
17.如權利要求12所述的解碼方法,其特征在于,a是等于或大于2的自然數(shù)。
18.一種程序記錄媒體,其特征在于,把用于由計算機實現(xiàn)如權利要求1至17中任一權利要求所述的解碼方法的所有或一部分步驟的程序存儲在所述媒體中。
全文摘要
當由計算機解碼已編碼視頻和音頻信號時,每單元時間所需的計算量是很大的。因此,根據(jù)CPU的性能,很難進行實時解碼。相對于音頻,當不實時輸出所有數(shù)據(jù)時,產(chǎn)生模糊音頻輸出或者發(fā)生聲音跳躍。在解碼方法中,當運用PC解碼已編碼視頻或已編碼音頻時,把用于實現(xiàn)音頻實時再現(xiàn)的解碼結(jié)束目標時間與在每個解碼單元中的實際解碼結(jié)束時間相比較。如果實際解碼結(jié)束時間遲于解碼結(jié)束目標時間,那么臨時中斷視頻解碼,或者降低視頻解碼的優(yōu)先權,從而實現(xiàn)音頻實時再現(xiàn)。在解碼方法中,當運用PC解碼已編碼視頻或已編碼音頻時,提供時間安排方法,來通過運用用于至少三個幀的緩沖器,更有效地進行數(shù)據(jù)輸入、音頻解碼和視頻解碼。
文檔編號H04N7/52GK1278386SQ98810852
公開日2000年12月27日 申請日期1998年8月28日 優(yōu)先權日1997年9月5日
發(fā)明者小野正, 重里達郎 申請人:松下電器產(chǎn)業(yè)株式會社