I幀、B幀和P幀的特點和編碼的基本流程

I幀、B幀和P幀的特點:

I幀:幀內編碼幀
I幀特點:
1.它是一個全幀壓縮編碼幀。它將全幀圖像信息進行JPEG壓縮編碼及傳輸;
2.解碼時僅用I幀的數據就可重構完整圖像;
3.I幀描述了圖像背景和運動主體的詳情;
4.I幀不需要參考其他畫面而生成;
5.I幀是P幀和B幀的參考幀(其質量直接影響到同組中以后各幀的質量);
6.I幀是幀組GOP的基礎幀(第一幀),在一組中只有一個I幀;
7.I幀不需要考慮運動矢量;
8.I幀所占數據的信息量比較大。

P幀:前向預測編碼幀。
P幀的預測與重構:P幀是以I幀為參考幀,在I幀中找出P幀“某點”的預測值和運動矢量,取預測差值和運動矢量一起傳送。在接收端根據運動矢量從I幀中找出P幀“某點”的預測值并與差值相加以得到P幀“某點”樣值,從而可得到完整的P幀。
P幀特點:
1.P幀是I幀后面相隔1~2幀的編碼幀;
2.P幀采用運動補償的方法傳送它與前面的I或P幀的差值及運動矢量(預測誤差);
3.解碼時必須將I幀中的預測值與預測誤差求和后才能重構完整的P幀圖像;
4.P幀屬于前向預測的幀間編碼。它只參考前面最靠近它的I幀或P幀;
5.P幀可以是其后面P幀的參考幀,也可以是其前后的B幀的參考幀;
6.由于P幀是參考幀,它可能造成解碼錯誤的擴散;
7.由于是差值傳送,P幀的壓縮比較高


B幀:雙向預測內插編碼幀。
B幀的預測與重構
B幀以前面的I或P幀和后面的P幀為參考幀,“找出”B幀“某點”的預測值和兩個運動矢量,并取預測差值和運動矢量傳送。接收端根據運動矢量在兩個參考幀中“找出(算出)”預測值并與差值求和,得到B幀“某點”樣值,從而可得到完整的B幀。
B幀特點
1.B幀是由前面的I或P幀和后面的P幀來進行預測的;
2.B幀傳送的是它與前面的I或P幀和后面的P幀之間的預測誤差及運動矢量;
3.B幀是雙向預測編碼幀;
4.B幀壓縮比最高,因為它只反映丙參考幀間運動主體的變化情況,預測比較準確;
5.B幀不是參考幀,不會造成解碼錯誤的擴散。

注:I、B、P各幀是根據壓縮算法的需要,是人為定義的,它們都是實實在在的物理幀,至于圖像中的哪一幀是I幀,是隨機的,一但確定了I幀,以后的各幀就嚴格按規定順序排列

I幀、B幀、P幀的編碼基本流程:

I 幀編碼的基本流程為:
(1) 進行幀內預測,決定所采用的幀內預測模式。
(2) 像素值減去預測值,得到殘差。
(3) 對殘差進行變換和量化。
(4) 變長編碼和算術編碼。
(5) 重構圖像并濾波,得到的圖像作為其它幀的參考幀。


P 幀和 B 幀編碼的基本流程為:
(1) 進行運動估計,計算采用幀間編碼模式的率失真函數(節)值。P幀只參考前面的幀,B 幀可參考后面的幀。
(2) 進行幀內預測,選取率失真函數值最小的幀內模式與幀間模式比較,確定采用哪種編碼模式。
(3) 計算實際值和預測值的差值。
(4) 對殘差進行變換和量化。
(5) 熵編碼,如果是幀間編碼模式,編碼運動矢量

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455464.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455464.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455464.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java筆記11-【異常、線程】

主要內容 異常、線程 第一章 異常 1.1 異常概念 異常,就是不正常的意思。在生活中:醫生說,你的身體某個部位有異常,該部位和正常相比有點不同,該部位的功能將受影響.在程序中的意思就是: 異常 :指的是程序在執行過程中,出現的…

摘抄自知乎的redis相關

1.知乎日報的基礎數據和統計信息是用 Redis 存儲的,這使得請求的平均響應時間能在 10ms 以下。其他數據仍然需要存放在另外的地方,其實完全用 Redis 也是可行的,主要的考量是內存占用。就使用經驗而言,Redis 的數據結構很豐富&…

Java微信開發_00_資源匯總貼

1.微信公眾平臺技術文檔(https://mp.weixin.qq.com/wiki?tresource/res_main&idmp1445241432) 2.微信企業號開發接口文檔(http://qydev.weixin.qq.com/wiki/index.php?title%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8) 3.企業微…

webgl獲取鼠標形狀_三模無線搭配對稱手型設計,游戲致勝利器,ROG烈刃2無線鼠標...

要想有效地提升游戲體驗,我認為除了電腦主機本身的硬件配置要盡可能的硬核之外,玩游戲時所選配的鼠標、鍵盤等外設的作用也是不可忽視的,所以很多比較注重游戲體驗的游戲愛好者都會選擇一款自己用著比較順手的游戲外設裝備。我這次入手的華碩…

牛人學習h264運動估計的方法

轉載自:http://bbs.chinavideo.org/forumdisplay.php?fid29 Chinavideo,一個非常棒的學習論壇 從答辯結束(2008-12-13)起就想寫一篇文章給學習運動估計的朋友們,因為我知道有很多正在寫論文的朋友們,特別是正在入門的朋友們&…

Java筆記11-軟件開發流程設計原則

今天內容: 1.常用的設計原則2.常用的設計模式3.常用的查找算法4.常用的排序算法 1.常用的設計原則(記住) 1.1軟件的開發流程 軟件開發授權-投標 -> 100萬 1. 編寫需求分析文檔 > 2. 概要設計文檔(架構) > 3. 詳細設計文檔(類圖) > 4. 編碼(項目經理分具體任…

magnify.m —— 圖像局部放大鏡工具函數

magnify.m 函數下載地址:magnify - File Exchange - MATLAB Central; magnify.m 函數在執行時,是一種交互式處理。 簡單演示如下: clear, clc% 加載圖像到內存,如讀取matlab自帶的圖像,并將其顯示出來 I i…

【大數據系列】hadoop單節點安裝官方文檔翻譯

Hadoop: Setting up a Single Node Cluster. HADOOP:建立單節點集群 PurposePrerequisites Supported PlatformsRequired SoftwareInstalling SoftwareDownloadPrepare to Start the Hadoop ClusterStandalone OperationPseudo-Distributed Operation Configuration…

qmlcanvas繪制3d圖形_透視Matplotlib核心功能和工具包 - 繪制3D圖形

關聯知識MatplotlibPython線圖在此,我們將學習如何創建3D線圖。 它類似于2D等效折線圖,并且2D折線圖的許多屬性都結轉到3D。我們將在相同的軸上繪制凹凸曲線,并從不同角度查看它們,例如平行視圖,頂視圖以及圍繞z軸的旋…

264 解碼之 yuv

博客訪問量日漸減少,于是我決定丟一點技術東東上去,吸引爬蟲光顧一下。先談談 h.264 的編解碼問題。個人建議做視頻、音頻的孩子們,一定要抓住 RFC 和 standard ,然后多看開源編解碼程序。近來抽空看了兩個 decoder ,一…

Java筆記12-函數式接口

主要內容 自定義函數式接口函數式編程常用函數式接口 第一章 函數式接口 概念 函數式接口在java中指的是:有且只有一個抽象方法的接口 函數式接口,即適用于函數式編程場景的接口.而java中共的函數式編程體現就是Lambda,所以函數式接口就是可以適用于lambda使用的接口.只有…

雷軍曬3億估值,意欲“收編”臺灣硬件創業者?

1月13日,在臺灣的CSMIC 2015移動互聯網兩岸年會上,雷軍以獵豹移動董事長的身份做了《給年輕創業者的兩大方向性建議》演講。 演講中雷軍表示,“在未來5到10年,特別適合臺灣年輕創業者做的兩個方向,一個是移動互聯網&am…

網頁“console”輸出圖文信息

http://www.monmonkey.com/javascript/jiben2.html 參考以上鏈接中的轉義字符使用。 http://www.cnblogs.com/Wayou/p/chrome_dev_tool_style_console.html https://segmentfault.com/a/1190000002511877 以上鏈接里有各種 console 輸出 ASCII圖文的實現方法。 ASCII圖文動態效…

記事本安卓軟件代碼設計_用輕量級工具 Notepad3 替代 36 歲的微軟記事本

一不小心,微軟記事本發布 36 年了。雖然微軟記事本自 1985 年 Windows 1.0 以來已包含在所有版本的 Microsoft Windows 中,但它太基礎了,以至于幾乎所有人都要替代它,比如輕量級的 Notepad3,支持代碼高亮/折疊、括號匹…

H.264編碼技術

H.264基本概況隨著HDTV的興起,H.264這個規范頻頻出現在我們眼前,HD-DVD和藍光DVD均計劃采用這一標準進行節目制作。而且自2005年下半年以來,無論是NVIDIA還是ATI都把支持H.264硬件解碼加速作為自己最值得夸耀的視頻技術。H.264到底是何方“神…

Java筆記13-兄弟連在線考試系統

今天內容: 1.兄弟連在線考試系統 1.1 軟件開發的流程 需求分析文檔 > 概要設計文檔 > 詳細設計文檔 > 編碼和測試1.2 編寫目的 (1)復習JavaSE所學的所有內容。 (2)鍛煉基本的編程能力。 1.3 功能分析 考試系統:(1)學員系統a.修改密碼b.開始…

macOS自帶Python2.7刪除之后的悲劇

2019獨角獸企業重金招聘Python工程師標準>>> 起因 今天打開xcode想要開始繼續寫項目的時候悲劇了. Loading a plug-in failed. The plug-in or one of its prerequisite plug-ins may be missing or damaged and may need to be reinstalled. 嘗試用終端打開看看報…

EasyUI 表格點擊右鍵添加或刷新 綁定右鍵菜單

例1 在HTML頁面中設置一個隱藏的菜單&#xff08;前提是已經使用封裝的Easyui&#xff09; 代碼&#xff1a; <div id"contextMenu_jygl" class"easyui-menu" style"width: 80px; display: none;"> <div …

python神奇的小海龜_Python筆記_第一篇_面向過程_第一部分_8.畫圖工具(小海龜turtle)...

turtle 是一個簡單的繪圖工具。提供一個小海龜&#xff0c;可以把它理解為一個機器人&#xff0c;只能聽懂有限的命令&#xff0c;且繪圖窗口的原點(0,0)在中間&#xff0c;默認海龜的方向是右側海龜的命令包括三類&#xff1a;運動命令、筆畫控制命令、其他命令。1. 運動命令…

jupyter淺析

一、jupyter 起步:簡介 Jupyter Notebook是一個開源的Web應用程序&#xff0c;允許用戶創建和共享包含代碼、方程式、可視化和文本的文檔。它的用途包括&#xff1a;數據清理和轉換、數值模擬、統計建模、數據可視化、機器學習等等。它具有以下優勢&#xff1a; 可選擇語言&a…