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