SVC編碼簡單了解

基本概念

可伸縮視頻編碼 SVC(Scalable Video Coding) 作為 H.264 標準的一個擴展,可用于生成不同幀率、分辨率和質量等可分層的視頻流。
基本層編碼最低層的時域、空域和質量流;
增強層以基本層作為起始點,對附加信息進行補充,從而在解碼過程中重構更高層的質量、分辨率和時域層。
視頻會議設備采用SVC技術來收發由一個小的基極層和多個可提高分辨率、幀速率和質量的其它可選層組成的多層視頻流。這種分層方式可以大大提高誤碼彈性和視頻質量,而且對帶寬沒有很高的要求。
H.264 SVC 支持三種分級方法:
(1)時域分級將幀分為不同的等級,上層的幀只能參考同層或低層的幀。
(2)空間分級:低層的幀分辨率比較低,高層的幀分辨率高,可以參考低層幀和同層幀。
(3)質量分級:低層的幀量化步長比較長,高層的幀采用更小量化步長,對低層幀的錯誤進行糾正。

技術優劣

  • 根據網絡情況,設備能力,解碼器可以選擇解碼不同層級的碼流。
  • 一次編碼、多次解碼.
    編碼端同時將所有的碼流層發送至服務器:
    如果用戶網絡質量非常好,服務器將所有層的碼流數據轉發至該用戶例如 Receiver2
    如果用戶網絡非常差,則只需要將低層級碼流數據轉發給該用戶例如 Receiver1
  • 差錯恢復
    可以使低層利用高層的信息進行錯誤檢測和糾正,如果在SVC流中檢測到了錯誤,分辨率和幀率可以逐步降層直至基本層
  • 抗差錯。只需要底層碼流就可以解碼,高層碼流錯誤/丟失不影響視頻流暢性。可以對低層碼流和高層碼流采用不同強度的抗丟包/抗差錯手段。算上前向糾錯的開銷,SVC整體碼流可能更低。
  • 底層碼流兼容h264非SVC解碼器
  • 對于質量分級和空域分級,同等質量需要大概多10%碼率。時域分級的碼率有所提高(實際上相當于I,P,B幀的拓展),但是對運動強度比較大的場景,碼率有所增加。
  • 對于質量分級和空域分級,運算量變大。
  • 軟硬件編碼器比較少。

使用SVC技術進行視頻會議有哪些主要優勢

  • SVC 提供了一種全新的低成本會議方式,它在用戶之間簡單地路由 SVC 層,而不是典型的 MCU 方法,對視頻流進行解碼然后編碼.這種方法的一個大問題是它在許多方面將負擔從集中式 MCU 轉移到了客戶端。如果會議中有 8 人,則強制解碼 7 個視頻流,而不僅僅是一個。與其他 7 個用戶接收和發送視頻所需的帶寬遠遠大于單個流到 MCU 的帶寬。
  • 提高誤碼彈性,進而提高在容易發生丟包的網絡間傳輸的視頻質量。

參考

https://blog.csdn.net/soulmate_scut/article/details/80938932

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

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

相關文章

程序集系統重構機房收費系統——起步

這段間時一直在查找程序集系統之類的問題,在現正好有機會和大家同享一下. 開始機房收費系統重構也半個月過去了。但看自己的系統連一個簡略的登錄還沒有實現。自己不免有些羞愧了。近來自己的習學態狀總的說來還是不錯的。但是由于自己對來原的識知把握的欠好所以致導了自己不知…

ie下的透明度,用濾鏡filter:alpha

.box{ width:100px; height:100px; background-color:#000; filter:alpha(Opacity50); opacity: 0.5; } 轉載于:https://www.cnblogs.com/liujinyu/p/3931087.html

mysql 修改字段類型

修改字段類型: alter table 表名 modify column 字段名 類型。 --如 alter table province_quality modify column quality float(8,2); mysql> describe province_quality ; --------------------------------------------------- | Field | Type |…

Ubuntu硬盤優化,降低硬盤溫度(Acer V5 親測成功 )

1.安裝laptop-mode-tools sudo apt-get install laptop-mode-tools2.修改電源管理配置: laptop-mode.conf sudo vim /etc/laptop-mode/laptop-mode.conf修改配置文件: #有關參數的說明請參照文件里的注釋說明 ENABLE_LAPTOP_MODE_ON_AC1 #當筆記本使用交流電時也開啟…

XmlSerializer 對象的Xml序列化和反序列化,XMLROOT別名設置

這篇隨筆對應的.Net命名空間是System.Xml.Serialization;文中的示例代碼需要引用這個命名空間。 為什么要做序列化和反序列化?.Net程序執行時,對象都駐留在內存中;內存中的對象如果需要傳遞給其他系統使用;或者在關機時…

C++智能指針使用指南 part2:智能指針本身的方法以及使用建議

目錄往期文章智能指針本身的方法對于unique_ptr對于shared_ptr對于weak_ptr使用建議1、使用工廠函數而非new構造對象2、在類內部調用其他類的方法3、在某類內部將當前對象指針共享給其他對象4、 智能指針只能管理堆對象,不能管理棧上對象5、不能將this指針直接托管給…

“/”應用程序中的服務器錯誤。

運行時錯誤 說明: 服務器上出現應用程序錯誤。此應用程序的當前自定義錯誤設置禁止遠程查看應用程序錯誤的詳細信息(出于安全原因)。但可以通過在本地服務器計算機上運行的瀏覽器查看。 詳細信息: 若要使他人能夠在遠程計算機上查看此特定錯誤消息的詳細信息,請在位…

JAVA_Collection容器

因為項目的需要,今天抽時間把JAVA中的容器復習了一下,為了以后的不時之需,現在把它記下來。 容器有其名,知其意,用來盛放數據的集合,JAVA中為我們提供了三種容器類:set、list、map,三…

對于enable_shared_from_this、shared_from_this使用筆記

文章為轉載匯總 參考:C11標準庫的一個工具類enable_shared_from_this的作用及原理分析 從這篇文章中可以知道: 當一個類public繼承enable_shared_from_this時,會獲得一個共有方法shared_from_this: class T : public enable_shar…

db file sequential read 事件的優化(一)

db file sequential read 事件的優化(一) db file sequential read等待事件有3個參數:file#,first block#,和block數量。在10g中,這等待事件受到用戶I/O等待級別的影響。當處理db fi…

2014-08-26 遇到的小問題

不能快速的保存bug的確是很不爽的事情 ,不僅客戶著急 領導也著急 ,自己也著急。。。。。。。。哈哈 原來好好的一個平臺 簡單的一個插入記錄 突然就報錯了 錯誤為 could not insert #9521 原來項目是用 NHibernate 做的插入 拋出的異常 真是無法定位到底…

Fatal error: Please read “Security“ section of the manual to find out how to run mysqld as root

.通過在命令后面加上–userroot 進行強制使用root賬號啟動。 cd /etc/init.d mysqld --userroot 參考: https://blog.csdn.net/huo_wa/article/details/117550307?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECT…

取消cp別名'cp -i'(unalias)

在rhel4updae8系統是使用cp命令覆蓋文件總是提示要輸入yes或no,即使加上-f參數也無法強行覆蓋。[2] 方法一: 輸入alias命令,看到系統內部使用的是cp的別名。 #alias alias cpcp -i 輸入unalias cp命令,解除別名。 unalias cp #&…

增加swap分區

在確定了服務器所需要使用的內存后,需要增加1024M的swap空間 具體操作: 1、dd if/dev/zero of/tmp/swap bs1M count1024M #創建1024M的文件塊 2、mkswap /tmp/swap #創建swap文件 3、swapon /tmp/swap #激活swap文件 4、swapon -s #查看swap 5、修改…

python 實現 topk算法

這里的版本是針對的一個class的某一個成員變量進行的: 關于如何定義對象的比較方法,請參考往期文章:python定義對象的比較方法 class province_room_quality_data:def __init__(self, room, quality):self.room roomself.quality qualityd…

2013年,未知的旅程

去年就開始策劃要辭職到外面去闖一闖,今年年初在上一家公司毅然辭職了,理由是自己需要出去鍛煉鍛煉。 帶著一個月的工資,和一點積蓄,還有一個女朋友來到了這個我以前都沒有來過的城市-深圳。 聽好多人都說過深圳是個好地方&#x…

SQL基礎

經過這幾天我才發現原來我最弱的是數據庫,好了現在就來補補吧 SQL(Struct Query Language) 結構化查詢語言,屬于第四代語言(接近于自然語言)符合主謂賓定狀補 DDL (Data Define L)數據定義語言,創建一個數據庫,創建一個…

主成分分析資料

推薦一份介紹主成分分析的資料:http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf,寫的很好! 在R語言中使用PCA:http://www.cnblogs.com/bigshuai/archive/2012/06/18/2553808.html 轉載于:https://…

關于mysql的binlog寫滿磁盤而導致mysql無法連接的問題。

問題描述與追蹤 首先是mysql連不上: [rootVM-90-225-centos ~]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket /var/lib/mysql/mysql.sock (111)然后查看mysql的狀態: [rootVM-90-225-c…