一種基于mpeg-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路及方法
【專利摘要】本發(fā)明提供一種基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路及方法。該電路包括系統(tǒng)時間產(chǎn)生單元、音頻DTS及PTS處理單元以及視頻DTS及PTS處理單元;系統(tǒng)時間產(chǎn)生單元包括分頻器、加法器以及33位系統(tǒng)時間寄存器;所述分頻器用于產(chǎn)生90KHZ的時鐘;所述音頻PTS處理單元包括音頻PTS時間緩沖單元和一個音頻PTS輸出有效寄存器;所述視頻PTS處理單元包括視頻PTS時間緩沖單元、DTS計算單元和兩個視頻時間輸出有效寄存器;本發(fā)明能夠?qū)崿F(xiàn)DTS和PTS高精度計算、同時確保了音視頻同步的質(zhì)量、大大降低了計算開銷。
【專利說明】一種基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于集成電路設(shè)計技術(shù),涉及一種基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路及方法。
【背景技術(shù)】
[0002]音視頻的同步傳輸是音視頻節(jié)目傳輸高質(zhì)量的重要標(biāo)志,是數(shù)字電視技術(shù)和多媒體通信技術(shù)中一個極為特殊和重要的關(guān)鍵技術(shù)。
[0003]隨著數(shù)字技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)和多媒體技術(shù)的進一步發(fā)展及數(shù)字電視的廣泛普及,用戶服務(wù)質(zhì)量的要求越來越高,確保音視頻同步己成為提升服務(wù)質(zhì)量的重要途徑。
[0004]目前,音視頻不同步的現(xiàn)象依然存在,造成音視頻不同步的主要原因包括時延抖動,不同的采集起始時間,時鐘偏差,數(shù)據(jù)丟失,網(wǎng)絡(luò)傳輸條件的變化等因素。為了應(yīng)對上述問題,MPEG-2系統(tǒng)層標(biāo)準(zhǔn)規(guī)定了一個系統(tǒng)時鐘,將音視頻的顯示或播放時間對應(yīng)到系統(tǒng)的時鐘,在編碼端和解碼端采用相同的系統(tǒng)時鐘,以實現(xiàn)音視頻的同步。
[0005]但是現(xiàn)在采用的MPEG-2系統(tǒng)層標(biāo)準(zhǔn),主要的解決方案是采用軟件方式對音視頻在編碼端和解碼端進行PTS和DTS時間的計算,由于MPEG-2對于系統(tǒng)時間的規(guī)定,軟件方式實現(xiàn)存在一定的誤差,效果較差,且計算開銷較大。
【發(fā)明內(nèi)容】
[0006]為了解決【背景技術(shù)】中的問題,本發(fā)明提出了一種能夠?qū)崿F(xiàn)DTS和PTS高精度計算、同時確保了音視頻同步的質(zhì)量、大大降低了計算開銷的基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路及方法。
[0007]本發(fā)明的具體技術(shù)方案是:
[0008]一種基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路,其特征在于:包括系統(tǒng)時間產(chǎn)生單元、音頻PTS處理單元以及視頻DTS及PTS處理單元;
[0009]系統(tǒng)時間產(chǎn)生單元包括分頻器、加法器以及33位系統(tǒng)時間寄存器;
[0010]所述分頻器用于產(chǎn)生90KHz的時鐘,所述加法器用于產(chǎn)生遞增的時間計數(shù),所述33位系統(tǒng)時間寄存器在90KHz時鐘的上升沿采樣加法器產(chǎn)生的遞增的時間計數(shù),生成系統(tǒng)時間;所述33位系統(tǒng)時間寄存器從O開始計數(shù);
[0011]所述音頻PTS處理單元包括音頻PTS時間緩沖單元和一個音頻PTS輸出有效寄存器;所述音頻PTS時間緩沖單元包括寫時鐘端、寫使能端、數(shù)據(jù)寫入端、讀時鐘端、讀使能端、數(shù)據(jù)輸出端及緩沖單元復(fù)位端;
[0012]所述音頻PTS時間緩沖單元的寫時鐘端用于接收90KHz時鐘;所述音頻PTS時間緩沖單元的寫使能端用于接收外部音頻時間采樣使能;所述音頻PTS時間緩沖單元的數(shù)據(jù)寫入端用于接收33位系統(tǒng)時間寄存器輸出的時間計數(shù);所述音頻PTS時間緩沖單元的讀時鐘端用于接收外部傳輸流復(fù)用工作時鐘信號;所述音頻PTS時間緩沖單元的讀使能端接收外部音頻編碼完成信號;所述音頻PTS時間緩沖單元的數(shù)據(jù)輸出端用于輸出音頻PTS值;所述音頻PTS時間緩沖單元的復(fù)位端接收外部復(fù)位信號;
[0013]所述音頻PTS輸出有效寄存器將外部輸入的音頻編碼完成信號寄存一個傳輸流復(fù)用工作時鐘后,作為音頻PTS輸出有效信號使用;
[0014]所述視頻PTS及DTS處理單元包括視頻PTS時間緩沖單元、DTS計算單元和兩個視頻時間輸出有效寄存器;所述視頻PTS時間緩沖單元包括寫時鐘端、寫使能端、數(shù)據(jù)寫入端、讀時鐘端、讀使能端、數(shù)據(jù)輸出端以及緩沖單元復(fù)位端;;
[0015]所述視頻PTS時間緩沖單元的寫時鐘端用于接收90KHz時鐘;所述視頻PTS時間緩沖單元的寫使能端用于接收外部視頻時間采樣使能;所述視頻PTS時間緩沖單元的數(shù)據(jù)寫入端用于接收33位系統(tǒng)時間寄存器輸出的時間計數(shù);所述視頻PTS時間緩沖單元的讀時鐘端用于接收外部傳輸流復(fù)用工作時鐘信號;所述視頻PTS時間緩沖單元的讀使能端接收外部視頻編碼完成信號;所述視頻PTS時間緩沖單元的數(shù)據(jù)輸出端用于輸出視頻PTS值;所述視頻PTS時間緩沖單元的復(fù)位端接收外部復(fù)位信號;
[0016]所述兩個視頻時間輸出有效寄存器串聯(lián)將視頻編碼完成信號寄存兩個傳輸流復(fù)用工作時鐘周期后,作為視頻時間輸出有效信號使用;
[0017]所述視頻DTS計算單元用于接收外部的視頻幀率、編碼幀類型IPB、GOP長度、B幀數(shù)目以及視頻的PTS值,計算出視頻DTS值。
[0018]根據(jù)上述MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路,現(xiàn)提供一種MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步方法,其特征在于,包括以下步驟:
[0019]I)輸入27MHz時鐘信號和復(fù)位信號,
[0020]2)外部復(fù)位信號有效,完成內(nèi)部音頻PTS緩沖單元、視頻PTS緩沖單元、音頻PTS輸出有效寄存器、兩個視頻時間輸出有效寄存器的復(fù)位;
[0021]3)復(fù)位撤銷;
[0022]4)輸入視頻幀率、GOP長度、B幀數(shù)目為有效值;
[0023]5)系統(tǒng)時間產(chǎn)生單元接收27MHz時鐘信號,生成系統(tǒng)時間;
[0024]5.1)分頻器接收27MHz時鐘信號,采用300分頻,產(chǎn)生90KHz的時鐘;
[0025]5.2) 33位系統(tǒng)時間寄存器在90KHz時鐘的上升沿采樣加法器產(chǎn)生的遞增的時間計數(shù),生成系統(tǒng)時間;
[0026]6)音頻PTS值以及音頻輸出時間有效信號的輸出;
[0027]音頻PTS值的輸出:
[0028]音頻PTS處理單元接收外部的音頻時間采樣使能,判斷其是否有效,若無效時,不進行寫入操作;若有效,則采樣系統(tǒng)時間產(chǎn)生單元輸出的系統(tǒng)時間,將采樣值寫入到音頻PTS時間緩沖單元;同時音頻PTS處理單元接收外部音頻編碼完成信號,判斷其是否有效,若無效時,不進行數(shù)據(jù)讀出,若有效時,從音頻PTS時間緩沖單元讀出采樣系統(tǒng)時間,作為音頻PTS值輸出;
[0029]音頻輸出時間有效信號輸出:
[0030]音頻PTS輸出有效寄存器將音頻編碼完成信號寄存一個傳輸流復(fù)用工作時鐘周期后,作為音頻PTS輸出有效信號輸出;
[0031]7)視頻PTS值、視頻DTS值以及視頻時間有效信號的輸出;
[0032]視頻PTS值輸出:視頻PTS處理單元接收外部的視頻時間采樣使能,判斷其是否有效,若無效時,不進行寫入操作;若有效,則采樣系統(tǒng)時間產(chǎn)生單元輸出的系統(tǒng)時間,將采樣值寫入到音頻PTS時間緩沖單元;同時視頻PTS處理單元接收外部視頻編碼完成信號,判斷其是否有效,若無效時,不進行數(shù)據(jù)讀出,若有效時,從音頻PTS時間緩沖單元讀出采樣系統(tǒng)時間,作為視頻PTS值分別輸出給外部以及DTS計算單元;
[0033]視頻時間輸出有效信號的輸出:兩個視頻時間輸出有效寄存器串聯(lián),將視頻編碼完成信號寄存兩個傳輸流復(fù)用工作時鐘周期后,作為視頻時間輸出有效信號輸出;
[0034]視頻DTS值的輸出:DTS計算單元接收外部的視頻幀率、編碼幀類型IPB、GOP長度、B幀數(shù)目以及PTS時間緩沖單元輸出的視頻的PTS值后,計算出視頻DTS值;
[0035]所述步驟6)和步驟7)同時進行。
[0036]上述計算視頻DTS值的步驟是:
[0037]7.1)計算FT值:如果FRA等于0,則FT等于1500 ;如果FRA等等于1,則FT等于3000 ;如果FRA等于2,則FT等于2500。
[0038]7.2)計算FTI值:如果BNUM等于0,則FTI等于O ;如果BNUM等于1,則FTI等于FT的值;如果BNUM等于2,則FTI = 2*FT。
[0039]7.3)通過FT值和FTI值計算DTS⑴:
[0040]如果ESTY 為 I 幀,VDTS (i) = VPTS (i)-FT ;
[0041]如果ESTY為P幀,當(dāng)BNUM等于O時,如果GOPN加I的值等于G0PL,則VDTS⑴=VPTS (i) -FT,否貝丨J VDTS = VPTS - FT1- FT ;
[0042]當(dāng)BNUM 不等于 O 時,VDTS (i) = VPTS (i) -FT ;
[0043]如果ESTY為B幀,則VDTS⑴=PTS⑴;
[0044]7.4)更新GOPN的值,如果GOPN加I的值等于G0PL,則GOPN取值變?yōu)?,否則GOPN的值在原值的基礎(chǔ)上加1,重復(fù)步驟7.3),直至計算完畢。
[0045]其中,F(xiàn)RA表示幀率,取值范圍[0,2],0代表60幀/s ;1代表30幀/s ;2代表25幀/s ;
[0046]BNUM表示兩個非B編碼幀間的B類型幀數(shù)目,取值范圍[0,2];
[0047]GOPL表示GOP長度,取值范圍[0,211-1];
[0048]GOPN 表示 GOP 計數(shù);
[0049]FT表示幀采樣間隔時間,取值范圍[0,233-1],由于在90KHz時鐘計數(shù)產(chǎn)生系統(tǒng)時間,計數(shù)增加I代表的時間為1/90KHZ,這里用計數(shù)值代表時間;
[0050]FTI表示編碼幀間隔時間,取值范圍[0,233-1],以l/90KHz時間為單位;
[0051]VPTS (i)表示視頻PTS緩沖區(qū)輸出的第i幀的PTS時間;
[0052]VDTS (i)表示第i幀的DTS時間;
[0053]ESTY表示當(dāng)前編碼幀類型IPB,取值范圍[0,2],O表示B幀,I表示P幀,2表示I幀;
[0054]上述音頻PTS緩沖單元采用FIFO實現(xiàn),其深度不小于16。
[0055]上述視頻PTS緩沖單元采用FIFO,實現(xiàn)深度大于等于4。
[0056]本發(fā)明的優(yōu)點在于:
[0057]1、本發(fā)明采用系統(tǒng)時間產(chǎn)生單元,確保音頻和視頻信號同步的質(zhì)量和準(zhǔn)確性。
[0058]2、本發(fā)明采用PTS時間緩沖單元,可緩編碼端與傳輸流復(fù)用端的速率不同步時,PTS丟失的問題。
[0059]3、本發(fā)明采用硬件的DTS計算單元,計算時間開銷小。
【專利附圖】
【附圖說明】
[0060]圖1為基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路原理圖;
【具體實施方式】
[0061]本發(fā)明基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn),提出了一種硬件構(gòu)架的音視頻同步處理電路及其方法,實現(xiàn)音視頻DTS和PTS高精度計算、同時確保了音視頻同步的質(zhì)量、大大降低了計算開銷。
[0062]首先,結(jié)合附圖1對本發(fā)明的電路結(jié)構(gòu)進行描述:
[0063]該音視頻同步電路,包括系統(tǒng)時間產(chǎn)生單元、音頻PTS處理單元以及視頻DTS及PTS處理單元;
[0064]系統(tǒng)時間產(chǎn)生單元包括分頻器、加法器以及33位系統(tǒng)時間寄存器;
[0065]具體的說,分頻器用于產(chǎn)生90KHz的時鐘;90KHz時鐘在內(nèi)部同音頻PTS處理單元、視頻DTS及PTS處理單元連接,向外輸出外部同步音頻時間采樣使能及視頻時間采樣使能信號;加法器用于產(chǎn)生遞增的時間計數(shù);33位系統(tǒng)時間寄存器在90KHz時鐘的上升沿采樣加法器產(chǎn)生的遞增的時間計數(shù),生成系統(tǒng)時間;
[0066]具體的說,音頻PTS處理單元包括音頻PTS時間緩沖單元和一個音頻PTS輸出有效寄存器;音頻PTS時間緩沖單元包括寫時鐘端、寫使能端、數(shù)據(jù)寫入端、讀時鐘端、讀使能端、數(shù)據(jù)輸出端及緩沖單元復(fù)位端;
[0067]具體的說,音頻PTS時間緩沖單元的寫時鐘端用于接收90KHz時鐘;音頻PTS時間緩沖單元的寫使能端用于接收外部音頻采樣使能;音頻PTS時間緩沖單元的數(shù)據(jù)寫入端用于接收33位系統(tǒng)時間寄存器輸出的時間計數(shù);音頻PTS時間緩沖單元的讀時鐘端用于接收外部傳輸流復(fù)用工作時鐘信號;音頻PTS時間緩沖單元的PTS時間緩沖單元的讀使能端接收外部音頻編碼完成信號;音頻PTS時間緩沖單元的數(shù)據(jù)輸出端用于輸出音頻PTS值;其中,視頻PTS時間緩沖單元采用FIFO且深度小于16。
[0068]具體的說,音頻PTS輸出有效寄存器將音頻編碼完成信號寄存一個復(fù)用時鐘周期后,作為音頻輸出時間有效信號;
[0069]具體的說,視頻PTS處理單元包括視頻PTS時間緩沖單元、DTS計算單元和兩個視頻時間輸出有效寄存器;視頻PTS時間緩沖單元包括寫時鐘端、寫使能端、數(shù)據(jù)寫入端、讀時鐘端、讀使能端以及數(shù)據(jù)輸出端;
[0070]具體的說,視頻PTS時間緩沖單元的寫時鐘端用于接收90KHz時鐘;視頻PTS時間緩沖單元的寫使能端用于接收外部音頻采樣使能;視頻PTS時間緩沖單元的數(shù)據(jù)寫入端用于接收33位系統(tǒng)時間寄存器輸出的時間計數(shù);視頻PTS時間緩沖單元的讀時鐘端用于接收外部傳輸流復(fù)用工作時鐘信號;視頻PTS時間緩沖單元的PTS時間緩沖單元的讀使能端接收外部音頻編碼完成信號;視頻PTS時間緩沖單元的數(shù)據(jù)輸出端用于輸出視頻PTS值;視頻PTS時間緩沖單元的復(fù)位端接收外部復(fù)位信號;其中,視頻PTS時間緩沖單元采用FIFO且深度大于等于4。
[0071]具體的說,兩個視頻時間輸出有效寄存器串聯(lián)將視頻編碼完成信號寄存兩個傳輸流復(fù)用工作時鐘周期后,作為視頻時間輸出有效信號使用;
[0072]具體的說,DTS計算單元用于接收外部的視頻幀率、編碼幀類型IPB、GOP長度以及視頻的PTS值,計算出視頻DTS值。
[0073]下面根據(jù)該電路的工作原理圖,對該電路進行音視頻同步的處理方法進行介紹:
[0074]I)輸入27MHz時鐘信號和電路復(fù)位信號,
[0075]2)外部復(fù)位信號有效,完成內(nèi)部音頻PTS緩沖單元、視頻PTS緩沖單元、音頻PTS輸出有效寄存器、兩個視頻時間輸出有效寄存器的復(fù)位;
[0076]3)復(fù)位撤銷;
[0077]4)輸入視頻幀率、GOP長度、B幀數(shù)目為有效值;
[0078]5)系統(tǒng)時間產(chǎn)生單元接收27MHz時鐘信號,生成系統(tǒng)時間;
[0079]5.1)分頻器接收27MHz時鐘信號,采用300分頻,產(chǎn)生90KHZ的時鐘;
[0080]5.2) 33位系統(tǒng)時間寄存器在90KHz時鐘的上升沿采樣加法器產(chǎn)生的遞增的時間計數(shù),生成系統(tǒng)時間;
[0081]6)音頻PTS值以及音頻輸出時間有效信號的輸出;
[0082]音頻PTS值的輸出:
[0083]音頻PTS處理單元接收外部的音頻時間采樣使能,判斷其是否有效,若無效時,不進行寫入操作;若有效,則采樣系統(tǒng)時間產(chǎn)生單元輸出的系統(tǒng)時間,將采樣值寫入到音頻PTS時間緩沖單元;同時音頻PTS處理單元接收外部音頻編碼完成信號,判斷其是否有效,若無效時,不進行數(shù)據(jù)讀出,若有效時,從音頻PTS時間緩沖單元讀出采樣系統(tǒng)時間,作為音頻PTS值輸出;
[0084]音頻輸出時間有效信號輸出:
[0085]音頻PTS輸出有效寄存器將音頻編碼完成信號寄存一個傳輸流復(fù)用工作時鐘周期后,作為音頻PTS輸出有效信號輸出;
[0086]7)視頻PTS值、視頻DTS值以及視頻時間有效信號的輸出;
[0087]視頻PTS值輸出:視頻PTS處理單元接收外部的視頻時間采樣使能,判斷其是否有效,若無效時,不進行寫入操作;若有效,則采樣系統(tǒng)時間產(chǎn)生單元輸出的系統(tǒng)時間,將采樣值寫入到音頻PTS時間緩沖單元;同時視頻PTS處理單元接收外部視頻編碼完成信號,判斷其是否有效,若無效時,不進行數(shù)據(jù)讀出,若有效時,從音頻PTS時間緩沖單元讀出采樣系統(tǒng)時間,作為視頻PTS值分別輸出給外部以及DTS計算單元;
[0088]視頻時間輸出有效信號的輸出:兩個視頻時間輸出有效寄存器串聯(lián),將視頻編碼完成信號寄存兩個傳輸流復(fù)用工作時鐘周期后,作為視頻時間輸出有效信號輸出;
[0089]視頻DTS值的輸出:DTS計算單元接收外部的視頻幀率、編碼幀類型IPB、GOP長度、B幀數(shù)目以及PTS時間緩沖單元輸出的視頻的PTS值后,通過公式計算出視頻DTS值;
[0090]其中,由于系統(tǒng)時間是由系統(tǒng)時間產(chǎn)生單元分別發(fā)送給音頻PTS處理單元和視頻PTS及DTS處理單元的,因此,步驟6)和步驟7)同時進行。
[0091]此處,需要特別說明的是,本發(fā)明中的視頻DTS值的計算,具體步驟如下:
[0092]7.1)計算FT值:如果FRA等于0,則FT等于1500 ;如果FRA等等于1,則FT等于3000 ;如果FRA等于2,則FT等于2500。
[0093]7.2)計算FTI值:如果BNUM等于0,則FTI等于O ;如果BNUM等于1,則FTI等于FT的值;如果BNUM等于2,則FTI = 2*FT。
[0094]7.3)通過FT值和FTI值計算DTS⑴:
[0095]如果ESTY 為 I 幀,VDTS (i) = VPTS (i)-FT ;
[0096]如果ESTY為P幀,當(dāng)BNUM等于O時,如果GOPN加I的值等于G0PL,則VDTS⑴=VPTS (i) -FT,否貝丨J VDTS = VPTS - FT1- FT ;
[0097]當(dāng)BNUM 不等于 O 時,VDTS (i) = VPTS (i) -FT ;
[0098]如果ESTY為B幀,則VDTS⑴=PTS⑴;
[0099]7.4)更新GOPN的值,如果GOPN加I的值等于G0PL,則GOPN取值變?yōu)?,否則GOPN的值在原值的基礎(chǔ)上加1,重復(fù)執(zhí)行步驟7.3),直至計算完畢。
[0100]其中,F(xiàn)RA表示幀率,取值范圍[0,2],0表示60幀/8;1表示30幀/8;2表示25幀/s ;
[0101]BNUM表示兩個非B編碼幀間的B類型幀數(shù)目,取值范圍[0,2];
[0102]GOPL表示GOP長度,取值范圍[0,211-1];
[0103]GOPN 表示 GOP 計數(shù)
[0104]FT表示幀采樣間隔時間,取值范圍[0,233-1],由于在90KHz時鐘計數(shù)產(chǎn)生系統(tǒng)時間,計數(shù)增加I代表的時間為1/90KHZ,這里用計數(shù)值代表時間;
[0105]FTI表示編碼幀間隔時間,取值范圍[0,233-1],以l/90KHz時間為單位;
[0106]VPTS⑴表示視頻PTS緩沖區(qū)輸出的第i幀的PTS時間;
[0107]VDTS⑴表示第i幀的DTS時間;
[0108]Tn:以外部傳輸流復(fù)用工作時鐘周期為單位,表示其第η個周期,假設(shè)此時外部視頻編碼完成時間有效;
[0109]ESTY:當(dāng)前編碼幀類型ΙΡΒ,取值范圍[0,2],O表示B幀,I表示P幀,2表示I幀。
[0110]需要說明的是:Τη時刻表示外部視頻編碼完成時間有效,讀取視頻PTS緩沖區(qū)數(shù)據(jù);Τη+1時刻(假定此時緩沖區(qū)取出的視頻PTS值為VPTS(i))Tn+2表示視頻輸出時間有效信號有效,此時視頻PTS及DTS時間均為有效值。
[0111]上文中一些英文名詞的中文解釋如下:
[0112]PTS:Present Time Stamp顯示時間戳,簡稱顯示時間
[0113]DTS !Decode Time Stamp解碼時間戳,簡稱解碼時間
[0114]GOP:Group of Pictures,畫面組,一個GOP就是一組連續(xù)的畫面。
[0115]編碼幀類型:MPEG編碼將畫面(即幀)分為1、P、B三種,I是
[0116]內(nèi)部編碼幀,P是前向預(yù)測幀,B是雙向內(nèi)插幀
[0117]B幀數(shù)目:一個GOP內(nèi),兩個非B幀間B類型幀的數(shù)目。
【權(quán)利要求】
1.一種基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路,其特征在于:包括系統(tǒng)時間產(chǎn)生單元、音頻PTS處理單元以及視頻DTS及PTS處理單元; 系統(tǒng)時間產(chǎn)生單元包括分頻器、加法器以及33位系統(tǒng)時間寄存器; 所述分頻器用于產(chǎn)生90KHz的時鐘,所述加法器用于產(chǎn)生遞增的時間計數(shù),所述33位系統(tǒng)時間寄存器在90KHz時鐘的上升沿采樣加法器產(chǎn)生的遞增的時間計數(shù),生成系統(tǒng)時間;所述33位系統(tǒng)時間寄存器從O開始計數(shù); 所述音頻PTS處理單元包括音頻PTS時間緩沖單元和一個音頻PTS輸出有效寄存器;所述音頻PTS時間緩沖單元包括寫時鐘端、寫使能端、數(shù)據(jù)寫入端、讀時鐘端、讀使能端、數(shù)據(jù)輸出端及緩沖單元復(fù)位端; 所述音頻PTS時間緩沖單元的寫時鐘端用于接收90KHZ時鐘;所述音頻PTS時間緩沖單元的寫使能端用于接收外部音頻時間采樣使能;所述音頻PTS時間緩沖單元的數(shù)據(jù)寫入端用于接收33位系統(tǒng)時間寄存器輸出的時間計數(shù);所述音頻PTS時間緩沖單元的讀時鐘端用于接收外部傳輸流復(fù)用工作時鐘信號;所述音頻PTS時間緩沖單元的讀使能端接收外部音頻編碼完成信號;所述音頻PTS時間緩沖單元的數(shù)據(jù)輸出端用于輸出音頻PTS值;所述音頻PTS時間緩沖單元的復(fù)位端接收外部復(fù)位信號; 所述音頻PTS輸出有效寄存器將外部輸入的音頻編碼完成信號寄存一個傳輸流復(fù)用工作時鐘后,作為音頻PTS輸出有效信號使用; 所述視頻PTS及DTS處理單元包括視頻PTS時間緩沖單元、DTS計算單元和兩個視頻時間輸出有效寄存器;所述視頻PTS時間緩沖單元包括寫時鐘端、寫使能端、數(shù)據(jù)寫入端、讀時鐘端、讀使能端、數(shù)據(jù)輸出端以及緩沖單元復(fù)位端; 所述視頻PTS時間緩沖單元的寫時鐘端用于接收90KHZ時鐘;所述視頻PTS時間緩沖單元的寫使能端用于接收外部視頻時間采樣使能;所述視頻PTS時間緩沖單元的數(shù)據(jù)寫入端用于接收33位系統(tǒng)時間寄存器輸出的時間計數(shù);所述視頻PTS時間緩沖單元的讀時鐘端用于接收外部傳輸流復(fù)用工作時鐘信號;所述視頻PTS時間緩沖單元的讀使能端接收外部視頻編碼完成信號;所述視頻PTS時間緩沖單元的數(shù)據(jù)輸出端用于輸出視頻PTS值;所述視頻PTS時間緩沖單元的復(fù)位端接收外部復(fù)位信號; 所述兩個視頻時間輸出有效寄存器串聯(lián)將視頻編碼完成信號寄存兩個傳輸流復(fù)用工作時鐘周期后,作為視頻時間輸出有效信號使用; 所述視頻DTS計算單元用于接收外部的視頻幀率、編碼幀類型IPB、GOP長度、B幀數(shù)目以及視頻的PTS值,計算出視頻DTS值。
2.基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路的MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步方法,其特征在于,包括以下步驟: 1)輸入27MHz時鐘信號和復(fù)位信號, 2)外部復(fù)位信號有效,完成內(nèi)部音頻PTS緩沖單元、視頻PTS緩沖單元、音頻PTS輸出有效寄存器、兩個視頻時間輸出有效寄存器的復(fù)位; 3)復(fù)位撤銷; 4)輸入視頻幀率、GOP長度、B幀數(shù)目為有效值; 5)系統(tǒng)時間產(chǎn)生單元接收27MHz時鐘信號,生成系統(tǒng)時間; 5.1)分頻器接收27MHz時鐘信號,采用300分頻,產(chǎn)生90KHz的時鐘; 5.2)33位系統(tǒng)時間寄存器在90KHz時鐘的上升沿采樣加法器產(chǎn)生的遞增的時間計數(shù),生成系統(tǒng)時間; 6)音頻PTS值以及音頻輸出時間有效信號的輸出; 音頻PTS值的輸出: 音頻PTS處理單元接收外部的音頻時間采樣使能,判斷其是否有效,若無效時,不進行寫入操作;若有效,則采樣系統(tǒng)時間產(chǎn)生單元輸出的系統(tǒng)時間,將采樣值寫入到音頻PTS時間緩沖單元;同時音頻PTS處理單元接收外部音頻編碼完成信號,判斷其是否有效,若無效時,不進行數(shù)據(jù)讀出,若有效時,從音頻PTS時間緩沖單元讀出采樣系統(tǒng)時間,作為音頻PTS值輸出; 音頻輸出時間有效信號輸出: 音頻PTS輸出有效寄存器將音頻編碼完成信號寄存一個傳輸流復(fù)用工作時鐘周期后,作為音頻PTS輸出有效信號輸出; 7)視頻PTS值、視頻DTS值以及視頻時間有效信號的輸出; 視頻PTS值輸出:視頻PTS處理單元接收外部的視頻時間采樣使能,判斷其是否有效,若無效時,不進行寫入操作;若有效,則采樣系統(tǒng)時間產(chǎn)生單元輸出的系統(tǒng)時間,將采樣值寫入到音頻PTS時間緩沖單元;同時視頻PTS處理單元接收外部視頻編碼完成信號,判斷其是否有效,若無效時,不進行數(shù)據(jù)讀出,若有效時,從音頻PTS時間緩沖單元讀出采樣系統(tǒng)時間,作為視頻PTS值分別輸出給外部以及DTS計算單元; 視頻時間輸出有效信號的輸出:兩個視頻時間輸出有效寄存器串聯(lián),將視頻編碼完成信號寄存兩個傳輸流復(fù)用工作時鐘周期后,作為視頻時間輸出有效信號輸出; 視頻DTS值的輸出:DTS計算單元接收外部的視頻幀率、編碼幀類型IPB、GOP長度、B幀數(shù)目以及PTS時間緩沖單元輸出的視頻的PTS值后,計算出視頻DTS值; 所述步驟6)和步驟7)同時進行。
3.根據(jù)權(quán)利要求1所述的基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路,其特征在于:所述計算視頻DTS值的步驟是: 7.1)計算FT值:如果FRA等于O,則FT等于1500 ;如果FRA等等于1,則FT等于3000 ;如果FRA等于2,則FT等于2500 ; 7.2)計算FTI值:如果BNUM等于0,則FTI等于O ;如果BNUM等于1,則FTI等于FT的值;如果BNUM等于2,則FTI = 2*FT ; 7.3)通過FT值和FTI值計算DTS⑴:
如果 ESTY 為 I 幀,VDTS (i) = VPTS (i) -FT ; 如果ESTY為P幀,當(dāng)BNUM等于O時,如果GOPN加I的值等于G0PL,則VDTS(i)=VPTS (i) -FT,否貝丨J VDTS = VPTS - FT1- FT ;
當(dāng) BNUM 不等于 O 時,VDTS (i) = VPTS (i) -FT ; 如果ESTY為B幀,則VDTS⑴=PTS⑴; 7.4)更新GOPN的值,如果GOPN加I的值等于G0PL,則GOPN取值變?yōu)?,否則GOPN的值在原值的基礎(chǔ)上加I,重復(fù)步驟7.3),直至計算完畢; 其中,F(xiàn)RA表示幀率,取值范圍[0,2],0代表60幀/8 ;1代表30幀/s ;2代表25幀/S ; BNUM表示兩個非B編碼幀間的B類型幀數(shù)目,取值范圍[0,2]; GOPL表示GOP長度,取值范圍[0,211-1]; GOPN表示GOP計數(shù); FT表示幀采樣間隔時間,取值范圍[0,233-1],由于在90KHz時鐘計數(shù)產(chǎn)生系統(tǒng)時間,計數(shù)增加1代表的時間為1/90KHZ,這里用計數(shù)值代表時間; FTI表示編碼幀間隔時間,取值范圍[0,233-1],以1/90KHZ時間為單位; VPTS(i)表示視頻PTS緩沖區(qū)輸出的第i幀的PTS時間; VDTS(i)表示第i幀的DTS時間; ESTY表示當(dāng)前編碼幀類型IPB,取值范圍[0,2],0表示B幀,1表示P幀,2表示I幀。
4.根據(jù)權(quán)利要求1所述的基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路,其特征在于:所述音頻PTS緩沖單元采用FIFO實現(xiàn),其深度不小于16。
5.根據(jù)權(quán)利要求1所述的基于MPEG-2系統(tǒng)層標(biāo)準(zhǔn)的音視頻同步電路,其特征在于:所述視頻PTS緩沖單元采用FIFO,實現(xiàn)深度大于等于4。
【文檔編號】H04N21/24GK104486642SQ201410741278
【公開日】2015年4月1日 申請日期:2014年12月5日 優(yōu)先權(quán)日:2014年12月5日
【發(fā)明者】安博鋒, 許宏杰, 顏哲, 陳威宇, 盧俊, 王婷 申請人:中國航空工業(yè)集團公司第六三一研究所