亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于mpeg-2傳輸流的特技流生成方法

文檔序號(hào):7766121閱讀:235來源:國知局
專利名稱:一種基于mpeg-2傳輸流的特技流生成方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻點(diǎn)播技術(shù)領(lǐng)域,尤其涉及一種基于MPEG-2傳輸流的特技流生成 方法。
背景技術(shù)
點(diǎn)播電視系統(tǒng)使得觀眾能有選擇的觀看存儲(chǔ)在媒體服務(wù)器的節(jié)目,服務(wù)器通過廣 播網(wǎng)之類的數(shù)據(jù)傳送信道接至用戶機(jī)頂盒等設(shè)備,當(dāng)觀眾選中一個(gè)節(jié)目時(shí),對(duì)應(yīng)節(jié)目數(shù)據(jù) 通過傳送信道到達(dá)用戶終端。除了能選擇節(jié)目外,觀眾還常常希望能對(duì)觀看的節(jié)目進(jìn)行快 進(jìn)、快退等特技播放操作。由于傳送信道帶寬有限,對(duì)于快速播放要求,無法采用簡單加快 節(jié)目傳送速度方式,需要服務(wù)器端發(fā)送專門的特技播放流等方法來解決。MPEG-2系統(tǒng)部分是描述如何將視、音頻以及其它數(shù)據(jù)的基本流組合成一個(gè)或多個(gè) 適合于存儲(chǔ)或傳送的碼流規(guī)范。MPEG-2是以視頻和音頻的廣泛應(yīng)用為目的而制定的,所以, 它除了具有節(jié)目流(PS)之外,還有傳輸流(TS)。音頻和視頻等數(shù)字信號(hào)經(jīng)過壓縮編碼各自形成基本流(ES),這個(gè)基本流并不能以 應(yīng)用為目的而直接存儲(chǔ)或傳送,還必需將其送進(jìn)特定的子系統(tǒng)(或稱打包器),把基本流按 一定的格式分成段落,并加入特定的標(biāo)志字形成打包基本流(PES)。PES的頭部包含有許多 信息,可藉此識(shí)別這個(gè)PES是視頻還是音頻、或是數(shù)據(jù),也可以知道包的長度等其它信息。 經(jīng)過打包器形成PES包后,信號(hào)被分別以兩種不同類型的碼流送入信道,一種叫節(jié)目流,一 種叫傳輸流。PES流進(jìn)入傳輸復(fù)用器中,被分割成一個(gè)個(gè)固定長度的包,稱為傳輸包。由傳輸包 組成的數(shù)據(jù)流稱為傳輸流(TS)。TS流是各傳輸系統(tǒng)之間的連接格式,是傳輸設(shè)備間的基本 接口。TS流是由一道或多道節(jié)目組合而成的。每道節(jié)目由一個(gè)或多個(gè)原始流和一些其 它流復(fù)合在一起,其中包括有視頻流、音頻流、節(jié)目特殊信息流(PSI)和其它數(shù)據(jù)包。其中 PSI表有4種類型節(jié)目相關(guān)表(PAT)、節(jié)目映射表(PMT)、網(wǎng)絡(luò)信息表和條件訪問表。節(jié)目關(guān)聯(lián)表(ProgramAssociation Table, PAT)所在分組的 PID = OPAT 中列出 了傳輸流中存在的節(jié)目流PAT指定了傳輸流中每個(gè)節(jié)目對(duì)應(yīng)PMT所在分組的PID PAT的第 一條數(shù)據(jù)指定了 NIT所在分組的PID,其他數(shù)據(jù)指定了 PMT所在分組的PID。節(jié)目映射表(Program Map Table, PMT)所在分組的PID由PAT指定,所以要先解 出PAT,再解PMT。PMT中包含了屬于同一節(jié)目的視頻、音頻和數(shù)據(jù)原始流的PID。找到了 PMT,解多路復(fù)用器就可找到一道節(jié)目對(duì)應(yīng)的每個(gè)原始流的PID,再根據(jù)原始流PID,去獲取 原始流。MPEG-2視頻編碼結(jié)構(gòu)從上至下依次為視頻序列層(Sequence)、圖像組層(Group of Picture, G0P)、圖像層(Picture)、像條層(Slice)、宏塊層(MacroBlock)和像塊層 (Block)。序列指構(gòu)成某路節(jié)目的圖像序列,序列起始碼后的序列頭中包含了圖像尺寸、寬
4高比、圖像速率等信息。序列擴(kuò)展中包含了一些附加數(shù)據(jù)。為保證能隨時(shí)進(jìn)入圖像序列,序 列頭是重復(fù)發(fā)送的。序列層下是圖像組層,一個(gè)圖像組由相互間有預(yù)測(cè)和生成關(guān)系的一組I、P、B幀像 構(gòu)成,但頭一幀圖像總是I幀。GOP頭中包含了時(shí)間信息。圖像組層下是圖像層,分為I、P、B三類。PIC頭中包含了圖像編碼的類型和時(shí)間參 考信息。I幀為幀內(nèi)編碼,P幀為前向預(yù)測(cè)編碼,B幀為雙向預(yù)測(cè)編碼,即I幀能單獨(dú)解碼, P幀需依賴前面的I或P幀才能解碼,B幀需依賴它前后的I或者P幀。圖像層下是像條層,一個(gè)像條包括一定數(shù)量的宏塊,其順序與掃描順序一致,MPi ML中一個(gè)像條必須在同一宏塊行內(nèi)。像條層下是宏塊層。MPEG-2中定義了三種宏塊結(jié)構(gòu)4:2:0宏塊、4:2:2宏塊和 4 4 4宏塊,分別代表構(gòu)成一個(gè)宏塊的亮度像塊和色差像塊的數(shù)量關(guān)系。對(duì)于遠(yuǎn)程點(diǎn)播而言,由于帶寬限制,想要達(dá)到快速播放效果只有針對(duì)發(fā)送數(shù)據(jù)進(jìn) 行處理,一類方案是直接通過對(duì)節(jié)目源處理編碼生成符合mpeg-2標(biāo)準(zhǔn)的特技播放流,當(dāng)需 要快速播放時(shí)候,只需改為發(fā)送特技播放流數(shù)據(jù)即可。另一類方案是對(duì)節(jié)目源不進(jìn)行編碼 處理,只發(fā)送特技播放所需的部分?jǐn)?shù)據(jù)。第一類方案目前技術(shù)有幾種,一是直接將節(jié)目源解碼,按倍速將選中的解碼圖進(jìn) 行重新編碼,這種方式得到碼流可以適應(yīng)任何倍速,且播放畫面質(zhì)量連續(xù)穩(wěn)定,缺點(diǎn)就是代 價(jià)大,需要對(duì)源解碼和重編碼。對(duì)這種方式的改進(jìn)技術(shù)有只解碼部分圖像,比如較低倍速只 解碼ι、ρ幀,較高倍速下只解碼I幀,編碼步驟一樣,但仍然存在消耗資源過大的缺點(diǎn)。第二類方案可理解為跳轉(zhuǎn)技術(shù),針對(duì)MPEG-2編碼特性,由于I幀可以單獨(dú)解碼,P 幀只依賴前向ι、ρ幀特性,可以只傳送挑選的I幀或者ι、ρ幀數(shù)據(jù)。挑選數(shù)據(jù)過程既可以 由服務(wù)器完成,也可以由機(jī)頂盒完成,但這類方案都要求解碼器附加針對(duì)不連續(xù)碼流的處 理,即適用性受到限制。而且另一個(gè)缺點(diǎn)就是由于I、p幀大小并不保持不變,簡單挑選部分 數(shù)據(jù)情況下,碼率隨時(shí)變化,對(duì)發(fā)送信道有要求。在發(fā)送信道不支持變碼率情況下,還得附 加額外數(shù)據(jù)以達(dá)到固定碼率。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種基于MPEG-2傳輸流的特技流生成方法,能夠生成符 合MPEG-2標(biāo)準(zhǔn)的特技流,從而無需對(duì)機(jī)頂盒等終端設(shè)備的解碼器有特殊要求。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案一種基于MPEG-2傳輸流的特技流生成方法,包括以下步驟A、按序分析MPEG-2視頻節(jié)目的傳輸流包,找到PID為0的PAT包,得到PMT表PID, 保存PAT包數(shù)據(jù),并根據(jù)PMT表PID找到PMT包,找到視頻節(jié)目PID和節(jié)目時(shí)鐘PID,保存 PMT包數(shù)據(jù);B、提取I幀,構(gòu)造出與I幀運(yùn)動(dòng)向量和預(yù)測(cè)誤差都為零的P幀,形成新碼流;C、根據(jù)視頻節(jié)目PID,進(jìn)行新碼流的傳輸流封裝,獲得P幀的大??;D、根據(jù)視頻節(jié)目PID,尋找新碼流的視頻PES頭和視頻序列頭,分析視頻序列信息 得到幀率,保存視頻PES信息;E、在新碼流的傳輸流包中,按照順序找到一個(gè)圖像組,根據(jù)這個(gè)圖像組的圖像個(gè)數(shù),獲得目前位置的圖像總個(gè)數(shù);F、如果所述目前位置的圖像總個(gè)數(shù)大于播放倍速和已經(jīng)生成的特技流總圖像數(shù) 之積,則轉(zhuǎn)至步驟G,否則拋棄當(dāng)前圖像組,并返回步驟E ;G、抽取當(dāng)前圖像組的I幀,放入特技流中,并計(jì)算當(dāng)前圖像組的I幀的大??;H、將當(dāng)前圖像組的P幀放入特技流中,放入特技流中P幀的數(shù)量取決于以下公式((I幀的大小+P幀的數(shù)量*P幀的大小)*幀率)/ (1+P幀的數(shù)量)< 限定碼率;I、更新已經(jīng)生成的特技流的總圖像數(shù);J、在特技流的I幀前添加視頻PES頭信息、視頻序列頭信息和圖像組信息,在特技 流的P幀前添加視頻PES頭信息;K、填寫特技流每幀前視頻PES頭信息里的PTS值和DTS值;L、對(duì)特技流中所有存在有效數(shù)據(jù)的傳輸流包修改連續(xù)計(jì)數(shù)器位,包括PAT包連續(xù) 計(jì)數(shù)器、PMT連續(xù)計(jì)數(shù)器和視頻包連續(xù)計(jì)數(shù)器;M、在特技流中添加空包以達(dá)到碼率固定,添加的空包加上后面要插入的帶PCR的 空包總大小取決于以下公式((空包總大小+1幀的大小+P幀的數(shù)量*P幀的大小)*幀率)/(1+P幀的數(shù)量) 和限定碼率之間的差值最??;N、對(duì)于特技流I幀所在包,如果PCR的PID和視頻節(jié)目PID —致,改寫帶PCR的空 包的PCR值,如果PCR的PID和視頻節(jié)目PID不一致,每當(dāng)I幀所在包數(shù)據(jù)量達(dá)到碼率與 40ms的乘積時(shí),插入一個(gè)附帶PCR值的空包;對(duì)于特技流P幀所在包或者空包數(shù)據(jù),每當(dāng)數(shù) 據(jù)量達(dá)到碼率與40ms的乘積時(shí),插入一個(gè)附帶PCR值的空包;P、重復(fù)步驟E到步驟N,每次獲得一個(gè)圖像組長度的傳輸流,直到新碼流的傳輸流 包中所有圖像組全部處理完成,將得到的傳輸流片段連接在一起,形成視頻節(jié)目的特技流。步驟E中,在新碼流的傳輸流包中,找到一個(gè)圖像組的起始碼,再找到下一個(gè)圖像 組的起始碼,從而判斷這個(gè)圖像組的圖像個(gè)數(shù)。步驟G中,從當(dāng)前圖像組起始位置到第一個(gè)不為I幀的圖像起始碼為止是一個(gè)完 整的I幀,當(dāng)前圖像組中第一個(gè)且保存從I幀所在包到下一幀圖像起始碼之間的視頻包的 數(shù)據(jù)大小就是I幀的大小。步驟K中,根據(jù)幀率和已經(jīng)生成的特技流的總圖像數(shù),計(jì)算出每幀圖像具體時(shí)刻, 按照計(jì)算出來的時(shí)刻,填寫特技流每幀前視頻PES頭信息里的PTS值和DTS值。采用了本發(fā)明的技術(shù)方案,能夠生成符合MPEG-2標(biāo)準(zhǔn)的特技流,從而無需對(duì)機(jī)頂 盒等終端設(shè)備的解碼器有特殊要求,應(yīng)用廣泛;由于生成特技流的同時(shí)無需進(jìn)行圖像解壓 和重新編碼,相比以往的編解碼生成碼流方式效率大大提高,對(duì)運(yùn)行環(huán)境需求很低,能滿足 大并發(fā)量要求;而且本發(fā)明技術(shù)方案靈活多變,既可以事先生成特技流并存儲(chǔ),在大并發(fā)量 點(diǎn)播時(shí)特技播放也不會(huì)占用更多軟件資源,而且存儲(chǔ)的特技流也可以單獨(dú)用于節(jié)目預(yù)覽等 特效,也可以實(shí)時(shí)處理生成碼流,每次得到一個(gè)GOP長度即可發(fā)送,快速且無需占用大量存 儲(chǔ)空間。


圖1是本發(fā)明具體實(shí)施方式
中基于MPEG-2傳輸流的特技流生成的流程圖。
具體實(shí)施例方式下面結(jié)合附圖并通過具體實(shí)施方式
來進(jìn)一步說明本發(fā)明的技術(shù)方案。為了生成特技流且不重新編解碼圖像,顯然必須利用原有的圖像,由于幀內(nèi)編碼 圖像I幀可以單獨(dú)解碼而不依賴其他圖像數(shù)據(jù),所以可以將I幀作為特技播放流的組成圖 像,依據(jù)播放倍速要求,選擇合適的I幀顯示即可達(dá)到快速播放要求。另一方面,由于MPEG-2標(biāo)準(zhǔn)中,幀率只有固定的若干種,并考慮到正常碼流和特 技流切換正常過渡,大多數(shù)IPQAM設(shè)備和機(jī)頂盒要求固定碼率,生成的特技流的幀率和碼 率要與原碼流一致。顯然,如果僅將原碼流的I幀作為特技流的全部圖像是不夠的。舉例來說,典型的MPEG-2視頻圖組結(jié)構(gòu)為IBBPBBPBBPBB,也就是在每12副圖像中 有一副I幀,在低于12倍速播放情況下,I幀作為特技流的全部圖像成員顯然是不夠的,在 高于12倍時(shí),雖然I幀數(shù)目是夠了,但又引發(fā)了另外一個(gè)問題1幀作為獨(dú)立編碼幀,其大 小遠(yuǎn)超全部圖像大小的平均值,在這種情況下,全部由I幀構(gòu)成的碼流的碼率不僅會(huì)超出 原碼流的碼率,也會(huì)超出IPQAM對(duì)單路碼流的限制帶寬。綜合上述而言,由于幀率和碼率這兩方面限制,生成的特技流中不僅需要有原碼 流的I幀存在,還需要添加額外的圖像,這個(gè)圖像還必須較小,使得所生成的特技流碼率限 定到一定范圍。由此就產(chǎn)生一個(gè)問題,添加什么樣的圖像數(shù)據(jù)能使得解碼器能正常解碼并 且不影響I幀顯示效果。思考MPEG-2視頻標(biāo)準(zhǔn),三種圖像類型中,P幀構(gòu)成都是依賴與前向 的I或者P幀數(shù)據(jù),是前面已解碼圖像數(shù)據(jù)加上運(yùn)動(dòng)向量以及預(yù)測(cè)誤差補(bǔ)償而成,那么若P 幀相對(duì)前面的圖的運(yùn)動(dòng)向量和預(yù)測(cè)誤差都為0,那么顯示出的圖像也就與前面完全一致了。 到這一步,構(gòu)造出這樣一個(gè)P巾貞,也就解決了幀率和碼率限制問題,因?yàn)槊總€(gè)I幀后面都添 加上這樣若干的P幀,機(jī)頂盒解碼顯示出來的P幀實(shí)際上全是I幀的內(nèi)容,而且這樣構(gòu)造出 的P幀很小,可以將碼率拉低,在此基礎(chǔ)上處理可以達(dá)到符合要求的固定碼率。最重要的幀率與碼率限制根源問題解決后,就只是考慮生成的特技流符合MPEG-2 標(biāo)準(zhǔn)的細(xì)節(jié)了。為了高效利用原碼流數(shù)據(jù),I幀數(shù)據(jù)可以包括其TS包頭部分。針對(duì)本發(fā)明 的技術(shù)方案構(gòu)造的特技流,還有一些要求需滿足1、在視頻基本流層面需存在圖組頭信息、序列頭信息;2、在打包視頻流層面需存在視頻流頭信息,以及顯示時(shí)間標(biāo)簽、解碼時(shí)間標(biāo)簽的 正確和連續(xù)性;3、在傳輸包分組(TS)層面每0. 5秒內(nèi)需要有PAT,PMT表,每40ms內(nèi)至少有一個(gè) PCR且正確連續(xù),包計(jì)數(shù)器位數(shù)值連續(xù),碼率恒定。對(duì)于這些要求的解決辦法1、其中圖組頭信息、序列頭信息、視頻流頭信息、PAT,PMT表都可以拷貝利用原碼 流的;2、每個(gè)I幀前面插入PAT,PMT表,基本能滿足0. 5秒要求;3、每個(gè)PES分組中的PTS. DTS需要修改,PCR信息需要添加;4、處理修改TS包的連續(xù)計(jì)數(shù)器位;5、為達(dá)到固定碼率,需要在每個(gè)圖后面添加適當(dāng)空包。圖1是本發(fā)明具體實(shí)施方式
中基于MPEG-2傳輸流的特技流生成的流程圖。如圖1所示,基于MPEG-2傳輸流的特技流生成的流程包括以下步驟步驟101、解析MPEG-2視頻節(jié)目,按序分析大小為188的傳輸流包,找到PID為0 的PAT包,得到PMT表PID,保存PAT包數(shù)據(jù),并根據(jù)PMT表PID找到PMT包,找到視頻節(jié)目 PID (video_pid)和節(jié)目時(shí)鐘 PID (pcr_pid),,保存 PMT 包數(shù)據(jù)。步驟102、提取視頻節(jié)目傳輸流包的每個(gè)圖像組的I幀,將每個(gè)圖像組內(nèi)I幀后面 圖像全部構(gòu)造成與I幀運(yùn)動(dòng)向量和預(yù)測(cè)誤差都為零的P幀,形成IPPPP…方式的新碼流。步驟103、根據(jù)視頻節(jié)目PID,進(jìn)行新碼流的傳輸流封裝,獲得P幀的大*p_siZe。對(duì)新碼流的傳輸流封裝可以只提取單純I幀,添加P幀數(shù)據(jù),然后每個(gè)圖組為單元 進(jìn)行封裝;也可以提取的是包含I幀數(shù)據(jù)的TS封裝,其后添加封裝后的P幀數(shù)據(jù),再進(jìn)一步 處理。步驟104、根據(jù)視頻節(jié)目PID,尋找新碼流的視頻PES頭和視頻序列頭,分析視頻序 列信息得到幀率frame_rate,保存視頻PES頭信息。步驟105、在新碼流的傳輸流包中,按照順序找到一個(gè)圖像組,找到圖像組的起始 碼(也代表找到了 I幀頭),再找到下一個(gè)圖像組起始碼,根據(jù)圖像起始碼00000100判斷這 個(gè)圖像組的圖像個(gè)數(shù),根據(jù)這個(gè)圖像組的圖像個(gè)數(shù),獲得目前位置的圖像總個(gè)數(shù)src_pic_ num。步驟106、播放倍速為speed,如果所述目前位置的圖像總個(gè)數(shù)大于播放倍速和已 經(jīng)生成的特技流總圖像數(shù)之積,艮口 src_pic_num-speed*dst_pic_num< = 0 (dst_pic_num 為 已經(jīng)生成的特就流的總圖像數(shù)),則轉(zhuǎn)至步驟107,否則拋棄當(dāng)前圖像組不處理,并返回步 驟 105。步驟107、抽取當(dāng)前圖像組的I巾貞,放入特技流中,并計(jì)算當(dāng)前圖像組的I幀的大小 i_size,其中從當(dāng)前圖像組起始位置到第一個(gè)不為I幀的圖像起始碼為止是一個(gè)完整的I 幀,當(dāng)前圖像組中第一個(gè)且保存從I幀所在包到下一幀圖像起始碼之間的視頻包的數(shù)據(jù)大 小就是I幀的大小。步驟108、將當(dāng)前圖像組的P幀放入特技流中,估算需添加的P幀數(shù)目p_num,顯然 P幀數(shù)目越多,生成的碼流碼率越低,從僅添加1副P幀開始,逐漸增大P幀數(shù)目,最終達(dá)到 滿足估算的碼率低于限定碼率,即(圖像大小/圖像時(shí)長)<限定碼率。因此放入特技流中P幀的數(shù)量取決于以下公式((i_size+p_num*p_size) *frame_rate) / (l+p_num) <BIT_RATE (其中 BIT_RATE 為 限定碼率)。步驟109、更新已經(jīng)生成的特技流的總圖像數(shù),即dst_piC_num+ = l+p_num。步驟110、在特技流的I幀前添加視頻PES頭信息、視頻序列頭信息和圖像組信息, 在特技流的P幀前添加視頻PES頭信息。步驟111、根據(jù)幀率和已經(jīng)生成的特技流的總圖像數(shù),計(jì)算出每幀圖像具體時(shí)刻 dst_pic_num/frame_rate,按照計(jì)算出來的時(shí)刻,填寫特技流每幀前視頻PES頭信息里的 PTS值和DTS值。步驟112、對(duì)特技流中所有存在有效數(shù)據(jù)的傳輸流包修改連續(xù)計(jì)數(shù)器位,包括PAT 包連續(xù)計(jì)數(shù)器、PMT連續(xù)計(jì)數(shù)器和視頻包連續(xù)計(jì)數(shù)器。步驟113、僅由前列數(shù)據(jù)構(gòu)成的碼流顯然碼率無法達(dá)到恒定,所以還必須添加若干
8空包以達(dá)到碼率固定。在特技流中添加空包以達(dá)到碼率固定,添加的空包加上后面要插入 的帶PCR的空包總大小add_siZe取決于以下公式((空包總大小+1幀的大小+P幀的數(shù)量*P幀的大小)*frame-rate)/ (1+P幀的數(shù) 量)和限定碼率之間的差值最小,即使得((add_size+i_size+p_num氺ρ—size)氺frame—rate)/(l+p_num)禾口 BIT—RATE 最接 近為止。步驟114、碼率是由PCR體現(xiàn)出來的,對(duì)于特技流I幀所在包,如果PCR的PID和 視頻節(jié)目PID —致,改寫帶PCR的空包的PCR值,如果PCR的PID和視頻節(jié)目PID不一致, 每當(dāng)I幀所在包數(shù)據(jù)量達(dá)到碼率與40ms的乘積時(shí),插入一個(gè)附帶PCR值的空包;對(duì)于特技 流P幀所在包或者空包數(shù)據(jù),每當(dāng)數(shù)據(jù)量達(dá)到碼率與40ms的乘積時(shí),插入一個(gè)附帶PCR值 的空包。步驟115、判斷新碼流的傳輸流包中所有圖像組是否全部處理完成,如果沒有,重 復(fù)步驟105到步驟114,每次獲得一個(gè)圖像組長度的傳輸流,如果新碼流的傳輸流包中所有 圖像組全部處理完成,則轉(zhuǎn)至步驟116。步驟116、將得到的傳輸流片段連接在一起,形成視頻節(jié)目的特技流。本具體實(shí)施方式
中,特技流的幀率和碼率可以與MPEG-2視頻節(jié)目片源的幀率和 碼率不一致,只要傳輸設(shè)備和播放設(shè)備能偵測(cè)或獲悉這種改變并適應(yīng)即可,但常理來說, 特技流的幀率和碼率與MPEG-2視頻節(jié)目片源的幀率和碼率保持一致可以減少碼流切換負(fù) 擔(dān)。對(duì)于快進(jìn)流,全部順序處理即可,而對(duì)于快退流,既可以順序獲得I幀,逆序存儲(chǔ) TS流片段(需事先一定存儲(chǔ)空間范圍),也可以逆序掃描獲得I幀,順序存儲(chǔ),或者更進(jìn)一 步,順序掃描,將全部I幀位置記錄下來,然后再分別順序生成快進(jìn)流,逆序生成快退流。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋 在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā) 的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種基于MPEG 2傳輸流的特技流生成方法,其特征在于,包括以下步驟A、按序分析MPEG 2視頻節(jié)目的傳輸流包,找到PID為0的PAT包,得到PMT表PID,保存PAT包數(shù)據(jù),并根據(jù)PMT表PID找到PMT包,找到視頻節(jié)目PID和節(jié)目時(shí)鐘PID,保存PMT包數(shù)據(jù);B、提取I幀,構(gòu)造出與I幀運(yùn)動(dòng)向量和預(yù)測(cè)誤差都為零的P幀,形成新碼流;C、根據(jù)視頻節(jié)目PID,進(jìn)行新碼流的傳輸流封裝,獲得P幀的大??;D、根據(jù)視頻節(jié)目PID,尋找新碼流的視頻PES頭和視頻序列頭,分析視頻序列信息得到幀率,保存視頻PES信息;E、在新碼流的傳輸流包中,按照順序找到一個(gè)圖像組,根據(jù)這個(gè)圖像組的圖像個(gè)數(shù),獲得目前位置的圖像總個(gè)數(shù);F、如果所述目前位置的圖像總個(gè)數(shù)大于播放倍速和已經(jīng)生成的特技流總圖像數(shù)之積,則轉(zhuǎn)至步驟G,否則拋棄當(dāng)前圖像組,并返回步驟E;G、抽取當(dāng)前圖像組的I幀,放入特技流中,并計(jì)算當(dāng)前圖像組的I幀的大?。籋、將當(dāng)前圖像組的P幀放入特技流中,放入特技流中P幀的數(shù)量取決于以下公式((I幀的大小+P幀的數(shù)量*P幀的大小)*幀率)/(1+P幀的數(shù)量)<限定碼率;I、更新已經(jīng)生成的特技流的總圖像數(shù);J、在特技流的I幀前添加視頻PES頭信息、視頻序列頭信息和圖像組信息,在特技流的P幀前添加視頻PES頭信息;K、填寫特技流每幀前視頻PES頭信息里的PTS值和DTS值;L、對(duì)特技流中所有存在有效數(shù)據(jù)的傳輸流包修改連續(xù)計(jì)數(shù)器位,包括PAT包連續(xù)計(jì)數(shù)器、PMT連續(xù)計(jì)數(shù)器和視頻包連續(xù)計(jì)數(shù)器;M、在特技流中添加空包以達(dá)到碼率固定,添加的空包加上后面要插入的帶PCR的空包總大小取決于以下公式((空包總大小+I幀的大小+P幀的數(shù)量*P幀的大小)*幀率)/(1+P幀的數(shù)量)和限定碼率之間的差值最??;N、對(duì)于特技流I幀所在包,如果PCR的PID和視頻節(jié)目PID一致,改寫帶PCR的空包的PCR值,如果PCR的PID和視頻節(jié)目PID不一致,每當(dāng)I幀所在包數(shù)據(jù)量達(dá)到碼率與40ms的乘積時(shí),插入一個(gè)附帶PCR值的空包;對(duì)于特技流P幀所在包或者空包數(shù)據(jù),每當(dāng)數(shù)據(jù)量達(dá)到碼率與40ms的乘積時(shí),插入一個(gè)附帶PCR值的空包;P、重復(fù)步驟E到步驟N,每次獲得一個(gè)圖像組長度的傳輸流,直到新碼流的傳輸流包中所有圖像組全部處理完成,將得到的傳輸流片段連接在一起,形成視頻節(jié)目的特技流。
2.根據(jù)權(quán)利要求1所述的一種基于MPEG-2傳輸流的特技流生成方法,其特征在于, 步驟E中,在新碼流的傳輸流包中,找到一個(gè)圖像組的起始碼,再找到下一個(gè)圖像組的起始 碼,從而判斷這個(gè)圖像組的圖像個(gè)數(shù)。
3.根據(jù)權(quán)利要求1所述的一種基于MPEG-2傳輸流的特技流生成方法,其特征在于,步 驟G中,從當(dāng)前圖像組起始位置到第一個(gè)不為I幀的圖像起始碼為止是一個(gè)完整的I幀,當(dāng) 前圖像組中第一個(gè)且保存從I幀所在包到下一幀圖像起始碼之間的視頻包的數(shù)據(jù)大小就 是I幀的大小。
4.根據(jù)權(quán)利要求1所述的一種基于MPEG-2傳輸流的特技流生成方法,其特征在于,步驟K中,根據(jù)幀率和已經(jīng)生成的特技流的總圖像數(shù),計(jì)算出每幀圖像具體時(shí)刻,按照計(jì)算出 來的時(shí)刻,填寫特技流每幀前視頻PES頭信息里的PTS值和DTS值。
全文摘要
本發(fā)明公開了一種基于MPEG-2傳輸流的特技流生成方法,通過提取視頻節(jié)目傳輸流包的圖像組的I幀,其后添加若干運(yùn)動(dòng)向量和預(yù)測(cè)誤差都為零的P幀,形成新碼流,再根據(jù)新碼流進(jìn)行MPEG-2傳輸流封裝,達(dá)到幀率和碼率要求,從而形成特技流。采用了本發(fā)明的技術(shù)方案,能夠生成符合MPEG-2標(biāo)準(zhǔn)的特技流,從而無需對(duì)機(jī)頂盒等終端設(shè)備的解碼器有特殊要求。
文檔編號(hào)H04N7/173GK101977326SQ201010555710
公開日2011年2月16日 申請(qǐng)日期2010年11月22日 優(yōu)先權(quán)日2010年11月22日
發(fā)明者陳宇洲 申請(qǐng)人:天柏寬帶網(wǎng)絡(luò)科技(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1