• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            IPB幀編碼順序(解碼順序)與顯示順序


            僅僅使用前一個(gè)顯示的基準(zhǔn)幀來(lái)編碼的幀被稱為“P幀”,同時(shí)使用前一個(gè)顯示幀和未來(lái)幀作為基準(zhǔn)幀進(jìn)行編碼的幀稱為“B幀”。在通常的場(chǎng)景中,編解碼器編碼一個(gè)I幀,然后向前跳過(guò)幾個(gè)幀,用編碼I幀作為基準(zhǔn)幀對(duì)一個(gè)未來(lái)P幀進(jìn)行編碼,然后跳回到I幀之后的下一個(gè)幀。編碼的I幀和P幀之間的幀被編碼為B幀。之后,編碼器會(huì)再次跳過(guò)幾個(gè)幀,使用第一個(gè)P幀作為基準(zhǔn)幀編碼另外一個(gè)P幀,然后再次跳回,用B幀填充顯示序列中的空隙。這個(gè)過(guò)程不斷繼續(xù),每12到15個(gè)P幀和B幀內(nèi)插入一個(gè)新的I幀。例如,圖1種給出了一個(gè)典型的視頻幀序列。

            通常,更換場(chǎng)景后的第一幀就是I幀,I幀應(yīng)當(dāng)全幀傳送。從壓縮的程度來(lái)看,I畫(huà)面的壓縮量最少;P畫(huà)面次之,它是以I畫(huà)面為基礎(chǔ);B畫(huà)面壓縮最多。為了加大壓縮比,通常在I幀后面相隔2幀(最多3幀)設(shè)置1個(gè)P幀,在I、P幀之間都是B幀,在兩個(gè)P幀之間也是設(shè)置2~3幀B幀。B幀傳送它與I幀或P幀之間的差值信息,或者P幀與后面P幀或I幀之間的差值信息,或者它與前后I、P幀或P、P幀平均值之間的差值信息。當(dāng)主體內(nèi)容變化愈大時(shí),兩個(gè)I畫(huà)面之間的幀數(shù)值越小;當(dāng)主體內(nèi)容變化小時(shí),I面畫(huà)的間隔可以適當(dāng)大一些。或者說(shuō),B幀、P幀所占比例越大,圖像壓縮比越高。一般兩個(gè)I畫(huà)面相隔13~15幀,相隔幀數(shù)不宜再多。

            下面以15幀為例,說(shuō)明VCD圖像幀的排列順序。I、P、B三種畫(huà)面的典型設(shè)置方式,對(duì)NTSC制共約需半秒時(shí)間。節(jié)目輸入順序是按實(shí)際出現(xiàn)順序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但為了解碼時(shí)便于從I、P畫(huà)面插補(bǔ)得到B畫(huà)面,在編碼錄制節(jié)目時(shí),將順序改變了,即按照I、P、B、B……順序,即改為按原來(lái)0、3、1、2、6、4、5、9、7、8…的畫(huà)面順序。解碼時(shí)先解出0幀、3幀,再由其插補(bǔ)預(yù)測(cè)計(jì)算得出1幀、2幀等等。為此,須在解碼器內(nèi)設(shè)置動(dòng)態(tài)存儲(chǔ)器,將I、P幀先解碼并存儲(chǔ),再計(jì)算出各個(gè)B幀。不過(guò)最后輸出時(shí),還是應(yīng)當(dāng)按照實(shí)際播放順序重組讀出,按正確順序輸出。


            音視頻編碼卡的視頻編碼算法從JPEG 發(fā)展到MPEG-1、MPEG-2、MPEG-4和H.264。JPEG是一種著名的圖像壓縮方法,最初由Joint Photographic Experts Group在1986年提出并于1992年正式成為ISO標(biāo)準(zhǔn)(ISO/IEC 10918),主要應(yīng)用于靜態(tài)圖像壓縮,如果把它用在運(yùn)動(dòng)圖像壓縮的時(shí)候,就是我們通常所說(shuō)的Motion-JPEG,由于JPEG相當(dāng)于MPEG的幀內(nèi)壓縮,因而沒(méi)有去除時(shí)域上的冗余,所以在保證一定圖像質(zhì)量的時(shí)候,壓縮比不高,通常只有10-30倍,但是它有一個(gè)固定的優(yōu)點(diǎn),就是延遲在40ms,實(shí)時(shí)性很好,所以在某些特殊應(yīng)用的場(chǎng)合仍然可以看到它的蹤影。MPEG運(yùn)動(dòng)圖像編碼技術(shù)標(biāo)準(zhǔn)是由Motion Picture Experts Group在1988年提出,并于1992年11月通過(guò),1993年8月作為ISO/IEC 11172標(biāo)準(zhǔn)公布,這就是通常所說(shuō)的MPEG-1。MPEG-1為了追求更高的壓縮效率,更注重去除圖像系列的時(shí)間冗余度。因此引入了I幀(幀內(nèi)編碼)、P幀(前向預(yù)測(cè)編碼)、B幀(雙向預(yù)測(cè)編碼)。P幀由前一個(gè)I幀或P幀圖像來(lái)預(yù)測(cè),而B(niǎo)幀由前后的兩個(gè)P幀或一個(gè)I幀和一個(gè)P幀來(lái)預(yù)測(cè),因而編解碼和幀的顯示順序有所不同,如圖1所示

            I B B P B B P…B B I    I P B B P B B … I B B
            1 2 3 4 5 6 7 …        1 4 2 3 7 5 6 …
              (a) 顯示順序          (b) 編解碼順序
                              圖 1
                    在此有兩個(gè)問(wèn)題需要說(shuō)明:首先是插多少B 幀最合適?理論上說(shuō)I、P之間插入的B幀越多,壓縮比越高,但是編解碼器所需的幀存儲(chǔ)器也越大,因此實(shí)際應(yīng)用中一般最多兩個(gè)。其次,B幀的引入會(huì)增加編解碼端的延遲,如果追求網(wǎng)絡(luò)監(jiān)視的時(shí)延,最好是不使用B幀。
                    MPEG-1標(biāo)準(zhǔn)的一個(gè)成功應(yīng)用范例是小型激光視盤(pán)(VCD)。由于它的壓縮比相對(duì)于M- JPEG大為提高,因而在數(shù)字監(jiān)控系統(tǒng)中得到廣泛的應(yīng)用。但是并不是最適合數(shù)字監(jiān)控系統(tǒng)的應(yīng)用,主要表現(xiàn)在碼率固定,代價(jià)是引起圖像質(zhì)量的抖動(dòng),而數(shù)字監(jiān)控系統(tǒng)最需要的不是恒定碼率,而是恒定質(zhì)量。同時(shí)MPEG-1本身的技術(shù)限制,其壓縮比也沒(méi)有達(dá)到用戶滿意的程度。而2000年提出的MPEG-4不僅是一個(gè)非常開(kāi)放的標(biāo)準(zhǔn),而且增加了許多新的工具,以達(dá)到降低某些應(yīng)用或圖像場(chǎng)景中要求的圖像質(zhì)量所需的比特率。值得注意的是雖然大部分用來(lái)降低比特率的工具是為非實(shí)時(shí)應(yīng)用開(kāi)發(fā)的,無(wú)法使用到數(shù)字監(jiān)控系統(tǒng)中,但是相對(duì)MPEG-1,由于使用半像素和1/4像素圖像匹配、幀內(nèi)預(yù)測(cè)、高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)等新的技術(shù),因而采用MPEG-4的壓縮標(biāo)準(zhǔn)之后,在PAL CIF 25fps情況下,大部分情況下碼率在300k-500k的MPEG-4壓縮圖像質(zhì)量超過(guò)1.25Mbit的MPEG-1圖像,因而在數(shù)字監(jiān)控系統(tǒng)中得到最廣泛和成功的應(yīng)用。

            posted on 2010-06-21 13:05 葉子 閱讀(8594) 評(píng)論(4)  編輯 收藏 引用 所屬分類: MPEG

            Feedback

            # re: IPB幀編碼順序(解碼順序)與顯示順序 2012-09-11 11:30 操權(quán)力

            您好,今天看了您的這篇博客,有個(gè)疑問(wèn)想請(qǐng)教下您。

            顯示順序是 I B B P
            編碼順序是 I P B B
            解碼順序是 I P B B

            那么,在MP4封裝格式中的存儲(chǔ)順序又是怎么樣的呢?
            是按照編碼順序還是按照解碼順序呢?  回復(fù)  更多評(píng)論   

            # re: IPB幀編碼順序(解碼順序)與顯示順序 2012-09-13 10:18 elva

            @操權(quán)力

            無(wú)論以任何容器封裝,在文件中存儲(chǔ)時(shí)是以編解碼順序存的  回復(fù)  更多評(píng)論   

            # re: IPB幀編碼順序(解碼順序)與顯示順序 2012-09-14 11:27 操權(quán)力

            @elva
            編解碼順序?
            應(yīng)該是解碼順序吧?

            一下是我對(duì)解碼時(shí)間和現(xiàn)實(shí)時(shí)間的理解:
            在容器中存儲(chǔ)的是解碼時(shí)間,在獲取到一個(gè)解碼包的時(shí)候,默認(rèn)的打上DTS和PTS。這個(gè)時(shí)候,不知道這個(gè)解碼包的幀類型。這個(gè)過(guò)程應(yīng)該屬于parser過(guò)程吧。

            將獲取的包按照順序給解碼器。解碼器會(huì)判斷這個(gè)包中的數(shù)據(jù)幀的類型,是I,或者P,或者B。如果是非B幀,那么DTS和PTS是相等的;如果是B幀的話,就重新計(jì)算PTS.

            負(fù)責(zé)顯示的task會(huì)對(duì)解碼之后的幀的pts進(jìn)行重新排序,然后進(jìn)行顯示。

            我的理解正確嗎?  回復(fù)  更多評(píng)論   

            # re: IPB幀編碼順序(解碼順序)與顯示順序 2012-09-14 11:32 elva

            打時(shí)間戳的時(shí)候知道幀類型,時(shí)間戳并不是隨著文件順序一幀一幀累加的,有些幀會(huì)提前顯示   回復(fù)  更多評(píng)論   

            久久婷婷色综合一区二区| 精品国产乱码久久久久久浪潮| 激情久久久久久久久久| 欧美激情精品久久久久久| 2021国产精品午夜久久| 国产一区二区三区久久| 久久精品国产一区二区| 国产午夜免费高清久久影院| 狠狠色综合久久久久尤物| 久久综合香蕉国产蜜臀AV| 国产69精品久久久久9999| 97久久久久人妻精品专区| 丁香久久婷婷国产午夜视频| 久久人与动人物a级毛片| 国产精品va久久久久久久| 亚洲精品无码久久千人斩| 久久久精品国产亚洲成人满18免费网站| 精品久久久久久久国产潘金莲 | 久久久久亚洲AV成人片| 超级碰碰碰碰97久久久久| 久久频这里精品99香蕉久| 久久久久国色AV免费观看| 伊人久久精品影院| 亚洲va中文字幕无码久久| 久久精品国产清高在天天线| 久久久亚洲欧洲日产国码aⅴ | 囯产精品久久久久久久久蜜桃| 久久精品无码一区二区三区日韩 | 久久精品国产亚洲Aⅴ香蕉| 久久精品视屏| 久久99国产精品久久99| 亚洲国产成人精品无码久久久久久综合 | 91精品国产91久久久久福利| 国内精品久久久久| 久久久久久精品无码人妻| 综合久久国产九一剧情麻豆| 99久久婷婷国产一区二区| 一本一本久久a久久精品综合麻豆| 久久久精品国产免大香伊 | 久久精品人人做人人爽电影 | 久久er99热精品一区二区|