久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2170|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STC,PCR,DTS,PTS

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:107189 發(fā)表于 2016-3-5 17:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
PTS和DTS是時(shí)標(biāo),每秒增加90k
這個(gè)在MPEG2文檔中可以查到
The PTS/DTS flags in the packet header are set to indicate the presence of PTS alone or both PTS and DTS time stamp. Audio packets may contain several access units and the packet header contains a PTS. Because audio packets are never trans-mitted out of sequence, there is no DTS in an audio packet.

視頻流中的DTS/PTS到底是什么

DTS(解碼時(shí)間戳)和PTS(顯示時(shí)間戳)分別是解碼器進(jìn)行解碼和顯示幀時(shí)相對(duì)于SCR(系統(tǒng)參考)的時(shí)間戳。
SCR可以理解為解碼器應(yīng)該開始從磁盤讀取數(shù)據(jù)時(shí)的時(shí)間。

mpeg文件中的每一個(gè)包都有一個(gè)SCR時(shí)間戳并且這個(gè)時(shí)間戳就是讀取這個(gè)數(shù)據(jù)包時(shí)的系統(tǒng)時(shí)間。通常情況下,解碼器會(huì)在它開始讀取mpeg流時(shí)啟動(dòng)系統(tǒng)時(shí)鐘(系統(tǒng)時(shí)鐘的初始值是第一個(gè)數(shù)據(jù)包的SCR值,通常為0但也可以不從0開始)。

DTS時(shí)間戳決定了解碼器在SCR時(shí)間等于DTS時(shí)間時(shí)進(jìn)行解碼,PTS時(shí)間戳也是類似的。
通常,DTS/PTS時(shí)間戳指示的是晚于音視頻包中的SCR的 一個(gè)時(shí)間。例如,如果一個(gè)視頻數(shù)據(jù)包的SCR是 100ms(意味著此包是播放100ms以后從磁盤中讀取的),那么DTS/PTS值就差不多是200 /280ms,表明當(dāng)SCR到200ms時(shí)這個(gè)視頻數(shù)據(jù)應(yīng)該被解碼并在80ms以后被顯示出來(視頻數(shù)據(jù)在一個(gè)buffer中一直保存到開始解碼)

下溢通常發(fā)生在設(shè)置的視頻數(shù)據(jù)流相關(guān)mux率太高。如果mux率是1000000bits/sec(意味著解碼器要以 1000000bits/sec的速 率讀取文件),可是視頻速率是2000000bits/sec(意味著需要以2000000bits/sec的速率顯示視頻數(shù)據(jù)),從磁盤中讀取視頻數(shù)據(jù) 時(shí)速度不夠快以至于1秒鐘內(nèi)不能夠讀取足夠的視頻數(shù)據(jù)
。這種情況下DTS/PTS時(shí)間戳就會(huì)指示視頻在從硬盤中讀出來之前進(jìn)行解碼或顯示(DTS/PTS時(shí)間戳就要比包含它們的數(shù)據(jù)包中的SCR時(shí)間要早了)。

如今依靠解碼器,著基本已經(jīng)不是什么問題了(盡管MPEG文件因?yàn)閼?yīng)該沒有下溢而并不完全符合MPEG標(biāo)準(zhǔn))。一些解碼器(很多著名的基于PC的播放器)盡可能快的讀取文件以便顯示視頻,可以的話直接忽略SCR。

注意在你提供的列表中,平均的視頻流速率為~3Mbps(3000000bits/sec)但是它的峰值達(dá)到了14Mbps(相當(dāng)大,DVD限制在 9.8Mbps內(nèi))。這意味著mux率需要調(diào)整足夠大以處理14Mbps的部分, bbMPEG計(jì)算出來的mux率有時(shí)候太低而導(dǎo)致下溢。

你計(jì)劃讓視頻流速率這么高么?這已經(jīng)超過了DVD的說明了,而且很可能在大多數(shù)獨(dú)立播放其中都不能播放。如果你不是這么計(jì)劃,我會(huì)從1增加mquant的值并且在視頻設(shè)置中將最大碼流設(shè)置為9Mbps以保持一個(gè)小一點(diǎn)的碼流。

如果你確實(shí)想讓視頻碼率那么高,你需要增大mux率。從提供的列表可以得出bbMPEG使用 14706800bits/sec或者 1838350bytes/sec的mux率(總數(shù)據(jù)速率為:1838350bytes/sec(14706800bits/sec)行)。你在強(qiáng)制 mux率字段設(shè)置的值應(yīng)該是以bytes/sec為單位并被50整除。所以我會(huì)從36767(1838350/50)開始,一直增加直到不會(huì)再出現(xiàn)下溢錯(cuò) 誤為止。



基本概念

|---------------------------------------------------------------|
|  TS/PS: Transport stream                                           |
|                 Packetized Stream                                        |
|     |-------------------------------------------------------|    |
|     |  PES: Packetized Elementary Stream               |    |
|     |    |-----------------------------------------------|     |     |
|     |    |     ES:Elementary stream                          |     |    |
|     |    |    |------------------------------------|           |     |    |
|     |    |    |                                                      |           |     |    |
|     |    |    |   GOP:Group of pictures           |           |     |    |
|     |    |    |------------------------------------|           |     |    |
|     |    |                                                                        |     |    |
|     |    |------------------------------------------------|     |    |
|     |                                                                                    |    |
|     |--------------------------------------------------------|    |
|                                                                                                |
|----------------------------------------------------------------|         

TS: DVB
PS:DVD


PTS
:Presentation Time Stamp
DTS:Decoding Time Stamp
PCR:Program Clock Reference
STC:System Time Clock

1. SCR
SCR是存在于PS中的,即PS的pack里面的一個(gè)field。他用來指定這個(gè)PS的pack期望的到達(dá)decoder的時(shí)間。

2. ESCR
ESCR是位于PES里面的,即PES的header里面可能會(huì)有,當(dāng)PES的packet要表示一個(gè)PES stream的時(shí)候,PES packet里面的ESCR就表示這個(gè)PES packet的所期望的到達(dá)decoder的時(shí)間。

3.PCR
PCR是TS里面的,即TS packet的header里面可能會(huì)有,他用來指定所期望的該ts packet到達(dá)decoder的時(shí)間,他的作用于SCR類似。

4.DTS, PTS
對(duì)于一個(gè)ES來說,比如視頻,他又許多I,P,B幀,而P, B幀都是以I,P幀作為參考。由于B幀是前向后向參考,因此要對(duì)B幀作decode的話,就必須先decode該B幀后面的P,或者I幀,于是,decode的時(shí)間與幀的真正的present的時(shí)間就不一致了,按照DTS一次對(duì)各個(gè)幀進(jìn)行decode,然后再按照PTS對(duì)各個(gè)幀進(jìn)行展現(xiàn)

有時(shí)候PES包頭里面也會(huì)有DTS,PTS,對(duì)于PTS來說,他代表了這個(gè)PES包得payload里面的第一個(gè)完整地audio access unit或者video access unit的PTS時(shí)間(并不是每個(gè)audio/video access unit都帶有PTS/DTS,因此,你可以在PES里面指定一個(gè),作為開始)。

PES包頭的DTS也是這個(gè)原理,只不過注意的是:對(duì)于video來說他的DTS和PTS是可以不一樣的,因?yàn)锽幀的存在使其順序可以倒置。而對(duì)于audio來說,audio沒有雙向的預(yù)測(cè),他的DTS和PTS可以看成是一個(gè)順序的,因此可一直采用一個(gè),即可只采用PTS。




Mpeg-2的同步及時(shí)間恢復(fù)--STC,PCR,DTS,PTS
摘要:Mpeg-2同步及時(shí)間恢復(fù)在編碼、傳輸和解碼中占有重要的地位,它不僅直接影響視音頻的解碼質(zhì)量,還是衡量整個(gè)傳輸網(wǎng)絡(luò)優(yōu)劣的重要指標(biāo)。本文將從原理上介紹Mpeg-2同步及時(shí)間恢復(fù)方法,并給出PCR測(cè)量的幾個(gè)項(xiàng)目。

關(guān)鍵字:STC,PCR,DTS,PTS

一、引言

Mpeg-2用于視音頻同步以及系統(tǒng)時(shí)鐘恢復(fù)的時(shí)間標(biāo)簽分別在ES,PES和TS這3個(gè)層次 中。在ES層,與同步有關(guān)的主要是視頻緩沖驗(yàn)證VBV(Video Buffer Verifier),用以防止解碼器的緩沖器出現(xiàn)上溢或者下溢;在PES層,主要是在PES頭信息里出現(xiàn)的顯示時(shí)間標(biāo)簽PTS(Presentation Time Stamp)和解碼時(shí)間標(biāo)簽DTS(Decoding Time Stamp);在TS層中,TS頭信息包含了節(jié)目時(shí)鐘參考PCR(Program Clock Reference),用于恢復(fù)出與編碼端一致的系統(tǒng)時(shí)序時(shí)鐘STC(System Time Clock)。

通常的視頻壓縮算法都采用了可變長編碼,編碼生成的視頻碼流是可變碼率的。為了能夠在實(shí)際的 固定碼率信道或者可變碼率信道上傳輸,需要引入緩沖區(qū)緩存視頻碼流數(shù)據(jù)。因此,視頻編碼算法必須提供一個(gè)有效的緩沖區(qū)管理策略,確保緩沖區(qū)不會(huì)發(fā)生上溢和 下溢。編碼器通過碼率控制算法,調(diào)整生成的視頻碼流滿足既定的緩沖區(qū)管理策略;同時(shí)在碼率控制算法中使用自適應(yīng)量化方法,確保壓縮視頻的質(zhì)量。

緩沖區(qū)管理策略通常都是建立在一個(gè)假想的解碼器模型上,該解碼器模型直接和編碼器的輸出相連 接,緩沖區(qū)管理策略通過控制編碼視頻數(shù)據(jù)流移入和移出解碼器緩沖區(qū)的時(shí)間以保證解碼器模型的數(shù)據(jù)緩沖區(qū)不上溢也不下溢。在Mpeg標(biāo)準(zhǔn)中,該解碼器模型稱 為VBV。VBV在ES層中定義。

在Mpeg-2編碼器中有單一的共同系統(tǒng)時(shí)鐘,此時(shí)鐘用來產(chǎn)生指示音頻和視頻的正確顯示和解 碼時(shí)序的時(shí)間標(biāo)簽,同時(shí)可用來指示在抽樣瞬間系統(tǒng)時(shí)鐘時(shí)間的瞬時(shí)值。正是編碼器中共同系統(tǒng)時(shí)鐘的出現(xiàn),以及解碼器中時(shí)鐘的重新生成和時(shí)間標(biāo)簽的正確使用, 才為解碼器中操作的正確同步提供了基準(zhǔn)。

Mpeg-2規(guī)定的系統(tǒng)時(shí)鐘頻率為27MHz,傳輸流中的PCR,PTS/DTS等均為對(duì)該 共同系統(tǒng)時(shí)鐘的采樣值。解碼端捕獲PCR,恢復(fù)出本地的STC,作為音視頻同步控制的基準(zhǔn),并依據(jù)PTS(DTS)時(shí)間標(biāo)簽來安排解碼和顯示時(shí)間表,使音 視頻分別同步于STC,以實(shí)現(xiàn)音視頻之間的同步。標(biāo)準(zhǔn)規(guī)定在原始音頻和視頻流中,PTS的間隔不能超過0.7s,而出現(xiàn)在TS包頭的PCR間隔不能超過 0.1s。

二、STC與PCR

STC是視音頻同步控制的基準(zhǔn),它是一串頻率為27MHz的脈沖,觸發(fā)計(jì)數(shù)器而形成一個(gè)二進(jìn) 制表示的時(shí)間基準(zhǔn),再通過對(duì)該時(shí)間基準(zhǔn)SCT進(jìn)行取樣得到PCR、PTS和DTS等時(shí)間標(biāo)簽。在編碼和解碼端,系統(tǒng)時(shí)鐘脈沖是由振蕩器等硬件產(chǎn)生,在解碼 端STC通過在碼流中定時(shí)傳送的PCR利用鎖相環(huán)(PLL)技術(shù)來與編碼端STC保持一致。

PCR是由對(duì)系統(tǒng)時(shí)鐘脈沖觸發(fā)的計(jì)數(shù)器狀態(tài)抽樣而來,是放在TS包頭的自適應(yīng)區(qū)中傳送。 PCR共占6Bytes,其中6bits預(yù)留,42bits有效位。42bits的PCR分為兩部分:33bits的PCR-Base和9bits的 PCR-Ext。PCR-Base是由27MHz脈沖經(jīng)300分頻后的90kHz脈沖觸發(fā)計(jì)數(shù)器,再對(duì)計(jì)數(shù)器狀態(tài)進(jìn)行取樣得到的。PCR-Ext是由 27MHz脈沖直接觸發(fā)計(jì)數(shù)器,再對(duì)計(jì)數(shù)器狀態(tài)進(jìn)行取樣得到的。PCR的具體編碼方式如下(編碼在PCR(i)中的數(shù)值代表了t(i),i指包含PCR- Base字段的最后一位的字節(jié)):

PCR-Base(i)=90kHz×t(i),    mod(233)

PCR-Ext(i)=27MHz×t(i),    mod(300)

PCR(i)=PCR-Base(i)×300+PCR-Ext(i)

當(dāng)新節(jié)目的PCR到達(dá)解碼器時(shí),需要更新時(shí)間基點(diǎn),STC就被置位。通常第一個(gè)從解復(fù)用器中 解出的PCR被直接裝入到STC計(jì)數(shù)器,其后PLL閉環(huán)操作。每當(dāng)一個(gè)新節(jié)目的PCR到達(dá)解碼器時(shí),此值被認(rèn)為是鎖相環(huán)的參考頻率,用來與STC的當(dāng)前值 比較,產(chǎn)生的差值e經(jīng)過脈寬調(diào)制后被輸入低通濾波器并經(jīng)放大,輸出控制信號(hào)f,用來控制振蕩器(VCO)的瞬時(shí)頻率,VCO輸出的頻率是在27MHz左右 振蕩的信號(hào),作為解碼器的系統(tǒng)時(shí)鐘。27MHz時(shí)鐘經(jīng)過波形整理后輸入到計(jì)數(shù)器中,產(chǎn)生當(dāng)前的STC值,其33bits的90kHz部分用于和 PTS/DTS比較,產(chǎn)生解碼和顯示的同步信號(hào)。

PCR-Base的作用是在解碼器切換節(jié)目時(shí),提供對(duì)解碼器PCR計(jì)數(shù)器的初始值,以讓該P(yáng)CR值與PTS、DTS最大可能地達(dá)到相同的時(shí)間起點(diǎn)。PCR-ext的作用是通過解碼器端的鎖相環(huán)電路修正解碼器的系統(tǒng)時(shí)鐘,使其達(dá)到和編碼器一致的27MHz。

圖1顯示了解碼器如何用PCR 來重建每個(gè)節(jié)目的遠(yuǎn)地27MHz時(shí)鐘。

    圖略

圖1 用PCR重建遠(yuǎn)地27MHz時(shí)鐘

三、DTS和PTS

DTS是編碼器在編碼時(shí)定義的,為解碼器預(yù)定的解碼時(shí)間。該時(shí)間標(biāo)記出現(xiàn)在PES層,在 PES頭部時(shí)間域中存在。它也是一個(gè)33bits的計(jì)數(shù)值,也是對(duì)系統(tǒng)時(shí)鐘的300分頻的時(shí)鐘的計(jì)數(shù)值。由于它和PCR有相同的起點(diǎn),在PCR值連續(xù)的情 況下,可以起到時(shí)間定時(shí)的作用,當(dāng)本機(jī)PCR值(連續(xù))和DTS值相等時(shí),表示它們計(jì)算了同樣的時(shí)鐘,也即它們經(jīng)過了相同的時(shí)間。本機(jī)PCR起到的是連續(xù) 計(jì)數(shù)的功能,DTS則是在等待這個(gè)時(shí)間,一旦等到這個(gè)時(shí)間,就表明它的解碼次序排好了,因?yàn)檫@個(gè)解碼次序是在編碼的時(shí)候規(guī)定的,對(duì)編碼的具體細(xì)節(jié)我們可以 不做了解,我們只要查詢到DTS就可以進(jìn)行下一步的工作。這個(gè)也有利于編碼器和解碼器研發(fā)的獨(dú)立性,少了一些捆綁,多了一些兼容。DTS就視頻來說,因?yàn)?視頻編碼的時(shí)候用到了雙向預(yù)測(cè),一個(gè)圖像單元被解出,并非馬上就被顯示,可能在存儲(chǔ)器中留一段時(shí)間,作為其余圖像單元的解碼參考,在被參考完畢后,才被顯 示。針對(duì)視頻的顯示,Mpeg還提出了一個(gè)視頻PTS。針對(duì)音頻和視頻的同步顯示,又提出了一個(gè)音頻PTS。由于聲音沒有用到雙向預(yù)測(cè),它的解碼次序就是 它的顯示次序,故對(duì)它只提出PTS的概念。

PTS是編碼器定義的,為解碼器規(guī)定某個(gè)單元的顯示時(shí)間。它也是一個(gè)33b的計(jì)數(shù)值,也是對(duì) 系統(tǒng)時(shí)鐘的300分頻的時(shí)鐘的計(jì)數(shù)值。要注意的是,PCR、DTS、PTS應(yīng)該具有相同的時(shí)間起點(diǎn),選在模擬圖像的場(chǎng)同步處開始計(jì)時(shí)是很好的辦法。一個(gè)單 元解碼后被顯示,PCR計(jì)數(shù)器重新計(jì)數(shù),開始下一個(gè)單元的工作。

四、PCR測(cè)量

㈠PCR 精度(PCR_AC):接收PCR中所含27MHz時(shí)鐘的不準(zhǔn)確度,但不包含任何傳輸定時(shí)損傷。測(cè)量時(shí)傳輸碼流中PCR字節(jié)位置作為起點(diǎn),計(jì)算出PCR 到達(dá)時(shí)間。

㈡PCR 漂移率(PCR_DR):PCR漂移率測(cè)量指的是PCR中的低頻誤差并計(jì)入了由PCR發(fā)生和再生引起的誤差以及由傳輸損傷所引起的到達(dá)時(shí)間誤差。即PCR 內(nèi)所含27MHz時(shí)鐘的低頻變化速率,測(cè)量時(shí)以某一穩(wěn)定外部基準(zhǔn)作為參考,因此包含了任何傳輸定時(shí)變化。下面的例子可用來說明PCR 漂移率的重要性:

我們來看一下由PLL控制的本地時(shí)鐘再生器。再生器輸出端的信號(hào)頻率應(yīng)當(dāng)跟蹤輸入信號(hào)頻率, 隨著輸入信號(hào)頻率的變化,PLL也隨之作出響應(yīng),本地再生器將跟蹤輸入信號(hào),隨著輸入信號(hào)變化速率的增加,PLL的跟蹤能力會(huì)有所降低,最后將導(dǎo)致本地發(fā) 生信號(hào)失鎖而丟失節(jié)目。PCR 漂移率的測(cè)量給出了一種測(cè)定方法,即如何更好地使去復(fù)用器/ 解碼器或再復(fù)用器的節(jié)目時(shí)鐘鎖定于輸入TS中所包含的PCR(注意這里指的是漂移率的測(cè)量而不是絕對(duì)頻率的測(cè)量,接收機(jī)端的PLL電路可以鎖定于系統(tǒng)時(shí) 鐘,該時(shí)鐘有著固定的頻率誤差-如果是快速變化或漂移率大,則會(huì)出現(xiàn)問題)。

㈢PCR 總抖動(dòng)(PCR_OJ):PCR內(nèi)所含27MHz時(shí)鐘的高頻變化,測(cè)量時(shí)以某一穩(wěn)定外部基準(zhǔn)作為參考,因此包含了任何傳輸定時(shí)變化。它是PCR測(cè)量中最重 要的一項(xiàng),是PCR中高頻誤差的總體測(cè)量并且還包括來自PCR發(fā)生和PCR 再生的誤差以及由傳輸損傷引起的到達(dá)時(shí)間誤差。例如該項(xiàng)傳輸損傷可能會(huì)引入到接收機(jī)中的RF解調(diào)器中。接收機(jī)內(nèi)再生的TS時(shí)鐘以及去復(fù)用器/解碼器所使用 的TS時(shí)鐘可能包含有基本高頻變化,它會(huì)對(duì)PCR的恢復(fù)帶來直接影響。在這種情形下,解碼器在復(fù)原PCR 中所發(fā)現(xiàn)的PCR 到達(dá)時(shí)間誤差可能是±500ns容限的許多倍,給PCR精度帶來不利。任何解碼器均靠接收PCR以準(zhǔn)確再生其節(jié)目時(shí)鐘并提供穩(wěn)定的視頻輸出。與此相同,任 何再復(fù)用器均靠接收PCR以在其輸出端精確地重新作出PCR標(biāo)記。PCR的到達(dá)時(shí)間是嚴(yán)格的;因此,測(cè)量包含有到達(dá)時(shí)間誤差和精度誤差的總抖動(dòng) (PCR_OJ)就是非常必要的。

在理想運(yùn)行系統(tǒng)中,傳輸損傷應(yīng)當(dāng)是可以設(shè)計(jì)的。然而在目前典型的分配網(wǎng)絡(luò)中,包含有再復(fù)用器、ATM 層等各級(jí)鏈路,它們均會(huì)引入誤差。PCR_AC是在復(fù)用器輸出端直接測(cè)量的數(shù)值,不過它在網(wǎng)絡(luò)中的運(yùn)行監(jiān)視常會(huì)使人迷惑不解,因?yàn)榘凑斩x,它應(yīng)當(dāng)消除一切傳輸損傷。

㈣PCR頻率偏置(PCR_FO):即PCR中所含27MHz 時(shí)鐘的頻率偏置,測(cè)量時(shí)以某一穩(wěn)定的外部基準(zhǔn)作為參考


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区在线免费观看 | 成人欧美日韩 | 99热免费| 欧美在线免费观看视频 | 免费一级黄色片 | 人人干人人艹 | 欧美一区二区三区免费 | 99在线观看视频 | 免费国产黄色 | 三级av片| 蜜桃一区二区 | 国产成人免费在线观看 | 久久久二区 | 欧美一区二区精品 | 日本黄色免费 | 国产中文字幕在线播放 | 四虎影院网站 | 色妞色视频一区二区三区四区 | 不卡av在线播放 | 久久久久亚洲精品 | 99亚洲精品 | 精品日韩一区 | 不卡免费视频 | 国产99热| 干少妇视频 | 日韩视频免费在线观看 | av不卡在线播放 | 欧美成人一级片 | 国产中文字幕在线播放 | 日日日操操操 | 国产特级黄色片 | 欧美日韩四区 | 午夜激情在线观看 | 日日操夜夜爽 | 久久综合久 | 五月婷婷激情综合 | 在线色网 | 一级特黄aaaaaa大片 | 懂色av一区二区夜夜嗨 | 成人综合婷婷国产精品久久 | 黄免费视频|