H264學習指南

因為最近手頭的活基本搞完了,人也閑了下來,這么熱的天氣,突然想寫這么一篇文章。不過首先聲明的是我對H264并不是太熟悉。但多多少少也學習了這么久了,寫點心得出來對自己是個交待,同時也希望給新手們一點幫助,只要對大家有一點點幫助,也就很滿足了。

?????? 好,閑話少說。如果大家是剛開始進入圖象領域,那么先看一看"計算機圖象處理"方面的教材還是有必要的.不過稍微了解一下就好了,不用太深入,在以后的對264的學習中,自然會對這些基本概念有進一步的了解.然后,是對264的了解,推薦3篇文章.

1、Halsted.Press.H.264.And.MPEG-4.Video. Compression. Video. Coding. For. Next. Generation。
?? 對視頻編解碼原理講得比較詳細
2、Video coding using the H.264 MPEG-4 AVC compression standard。
?? 更加關注于編解碼的各個模塊的實現方式
3、Overview of the H.264/AVC Video Coding Standard。
?? 是Thomas Wiegand的大作,對264較之以往標準的新特性都作了說明。

??????? 這三篇文章絕對是了解264的經典文章,論壇上好像也有下載的地址。這些都是e文文章,不過相信對大多數人難度都不大。

細心將這三篇文章看完。對264就有了一個比較清楚地認識了。對一個這么大的東西,不可能說要在短時間內全部搞懂它,因此就要根據當前自己的情況,選擇一個具體的研究方向,比如說運動估計、熵編碼等等。我現在以我自己的研究方向運動估計作為例子,來說一下我的學習方法,當然肯定有班門弄斧的嫌疑,但是既然大家都不認識我,我也就不客氣了。

??????? 從入門的3篇文章中可以看出,幀間編碼(運動估計)是264的運算復雜度的“主力”部分。那么首先要對傳統的那些運動估計方法作一個了解,如果是教育網的朋友再ieee的網站上拿motion estimation一搜就能搜到一大堆文章了,我的建議是選一篇比較新而且比較長的文章,就是那種regular paper 而不是short paper。這些文章中一般會對本研究方向的經典方法作一個回顧和比較,這樣,從這篇文章的參考文獻中再進一步把本研究方向的歷史和現狀作一個了解。
??????? 所謂對264的研究的話,基本上就是用更加好的算法來降低264本身的計算復雜度。能夠做到不提高碼率當然好,但碼率稍微有點上升也沒有關系,不過那就要在編碼速度上有優勢,這樣就可以說“本方法利于實時實現“啦,哈哈。就運動估計來說,傳統的3ss,4ss,ds都要知道是怎么回事,然后像被大家奉為經典的mvfast,pmvfast就要專心的看一下了。最好呢,是在這些方法上,能夠提出自己的新觀點、新方法。當然,這就不是一個純粹看論文能夠解決的問題了。大家需要對264的新特點有一個清楚了了解,然后考慮的方向可以是以前的方法應該怎么改善再用在264上,能夠更好地發揮作用,向連續消方法,half-way stop的方法,好像國內的都有人出論文。因為264的幀間預測采用了可變塊大小,因此又引出了一個問題:按什么方法來分塊是最好的?大家在看那3篇入門的文章時,就要邊看邊思考,里面說采用可變塊大小,就要想到我怎么知道該怎么分塊;里面提到4*4塊幀內預測有9種模式,就要想到這9種模式如何決策。也就是說,大家再看這些文章時,要想一下,我該怎么去實現它。這些問題其實很容易就能提出來,但要解決卻是一個大問題。
??????? 比如說分塊吧,VBSME(variable block size motion estimation),ieee上可有不少文章,臺灣國立成功大學(?好像是這個名字)的一篇碩士論文就寫的是這個,可見264有好多東西可以去做,養幾個博士絕對綽綽有余啊,赫赫。其實研究方向越細,就能夠對這個方向把握得越準確,成天看著,總會有些新想法出來吧,嗬嗬,開玩笑的說。選好了一個大的研究方向,然后就要知道現在這個方向大家都是在那些細節上做工作。像運動估計的話,多幀預測,可變塊大小的分法,1/4像素估計精度等等都是熱門的東西,那基本上來說,跟著大家走就好了。了解哪些東西是熱門,基本上*多看文章,同時建議大家多看e文的,最好是ieee的。我的一個博士師兄告訴我說,如果你想發某一個檔次的文章,你就應該看比這個雜志高一個檔次的文章。而且他說一般看個15篇左右,就應該要能夠出一篇自己的東西了。這個師兄現在畢業了,他發了好多EI的,羨慕!
?????? 如果“不幸”有了自己的新想法,那么就需要驗證了。簡單一點的驗證呢,可以放在c語言或者matlab平臺下進行,但是如果要發論文的話,基本上還是要放在JM下才有說服力。而且試驗序列最好采用標準序列。這既涉及到一個讀JM源碼和修改JM源碼的問題。我看了一段時間,實在是好煩啊,所以,對不起,在這方面我沒有太多好的建議。但是我在修改一個幀內預測算法時,反而把預測速度減慢了,哈哈,按照常理來說,我的方法應該比JM里的方法好才對,而且我在matlab下的仿真結果的確如此,很郁悶,希望大家推薦一個看源碼的方法給我,謝謝先。
??????? 除去以上說的這些,看標準也是很必要的。200503的那個prepublished版本好像是最新的,對于翻譯標準,我認為不是太必要,但對了解標準也還是有點幫助,可以放在正常工作時間以外進行,如果大家有這么努力的話。

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

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

相關文章

什么是數據分析的關鍵指標?

什么是核心關鍵指標呢? 這是一個好問題,不過沒有標準的答案。企業性質不同,所處行業、發展階段不同,關注點當然不同。不過大體可以這樣來劃分。 1、發展階段不同,需求不同 對于一個想要做數據化管理的企業來說&#xf…

01Pandas_數據結構

Pandas數據結構 做python數據分析,數據挖掘,機器學習的童鞋應該都離不開pandas。在做數據的預處理的時候pandas尤為給力。 本文主要介紹pandas中的兩種數據結構:series,dataframe。 import pandas as pd 1.Series 首先來介紹series數據結…

加密函數

MD5:密碼為web頁面做準備,建議使用MD5 PASSWORD() :修改當前用戶或其他用戶密碼 mysql> SELECT MD5(admin); #對admin進行MD5的加密(32位)----------------------------------| MD5(admin) |--------------------------------…

如何使用notepad運行python程序

關于使用notepad運行python程序 首先要確保python解釋器已經安裝成功,查看方法,windows可以在命令提示符中查看,通過按下winR鍵,調出運行窗口,在輸入框中輸入cmd回車,然后在命令行中輸入python,若出現版本信息,例如Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC…

H.264學習歷程(天之驕子)

半年前,我知道了H.264這個名詞。那個時候決定學習H.264,可是我連資料都不知道如何收集。而且整個學校就只有我一個人在學習H.264,找不到人交流,所以那個時候學得真的是舉步維艱,很痛苦,而能在網上認識一個學…

插入排序:表折半插入

在前一篇插入排序:表插入中。我們用靜態鏈表的存儲方式。直接插入的策略,構建了一種新的插入排序算法:表插入。有人可能會想到:相同是靜態鏈表的形式,為什么不使用更高效的折半插入策略呢?這樣的想法真的非…

C++編譯報錯:重復定義

http://note.youdao.com/noteshare?idcb2bed862a2daae89775603168f297af轉載于:https://www.cnblogs.com/taiyang-li/p/6637093.html

【機器學習】sklearn實現---歸類為5大類

sklearn實現---歸類為5大類 sklearn.preprocessing.scale()(最常用,易受異常值影響)sklearn.preprocessing.StandardScaler()sklearn.preprocessing.minmax_scale()(一般縮放到[0,1]之間,若新數據集最大最小值范圍有變…

關于安裝deepin+window10雙系統有時沒有聲音的問題

關于安裝deepinwindow10雙系統有時沒有聲音的問題 這個問題小編目前還沒有解決,求大神幫忙! deepin社區官網:深度科技社區 還可以參考一下其他的教程 深粉交流:新手剛剛安裝好DEEPIN,但沒有聲音,怎而解決? 冰封飛飛(云網牛站):在Deepin系統中…

如何讀H.264的標準和代碼

首先,還是要弄清楚編解碼的流程和 H.264 的關鍵技術,看白皮書就知道了,另外 H.264 綜述類的文章和別人的學位論文一般也會講到; 其次,弄清楚代碼的各個函數實現的功能,這個可以看看 JM 代碼里各個函數前面的…

Kafka官方文檔翻譯——實現

IMPLEMENTATION 1. API Design Producer APIs Producer API封裝了底層兩個Producer: kafka.producer.SyncProducerkafka.producer.async.AsyncProducerclass Producer {/* Sends the data, partitioned by key to the topic using either the *//* synchronous or t…

【機器學習】熵、決策樹、隨機森林 總結

一、熵 公式: ?∑i1np(xi)?log2p(xi)-\sum_{i 1}^{n}{p(xi)*log_2p(xi)}?i1∑n?p(xi)?log2?p(xi) ∑i1np(xi)?log21p(xi)\sum_{i1}^{n}p(xi)*log_2\frac{1}{p(xi)}i1∑n?p(xi)?log2?p(xi)1? import numpy as np# 賬號是否真實:3no&#xff…

HDU 4857 逃生(拓撲排序)

拓撲排序 一.定義 對一個有向無環圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序&#xff0c;是將G中所有頂點排成一個線性序列&#xff0c;使得圖中任意一對頂點u和v&#xff0c;若<u&#xff0c;v> ∈E(G)&#xff0c;則u在線性序列中出現在v之前。 通常&#xff0c;…

關于deepin系統安裝design compiler的問題解答

關于deepin系統安裝design compiler的問題解答 Design?Compiler是Synopsys綜合軟件的核心產品。它提供約束驅動時序最優化&#xff0c;并支持眾多的設計類型&#xff0c;把設計者的HDL描述綜合成與工藝相關的門級設計&#xff1b;它能夠從速度、面積和功耗等方面來優化組合電…

iOS 數據持久化-- FMDB

一、簡介 1.什么是FMDB FMDB是iOS平臺的SQLite數據庫框架 FMDB以OC的方式封裝了SQLite的C語言API 2.FMDB的優點 使用起來更加面向對象&#xff0c;省去了很多麻煩、冗余的C語言代碼 對比蘋果自帶的Core Data框架&#xff0c;更加輕量級和靈活 提供了多線程安全的數據庫操作方法…

【機器學習】交叉驗證篩選參數K值和weight

交叉驗證 導包 import numpy as npfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn import datasets#model_selection &#xff1a;模型選擇 # cross_val_score: 交叉 &#xff0c;validation&#xff1a;驗證&#xff08;測試&#xff09; #交叉驗證 from s…

jqGrid列的統計

$("#List").jqGrid({ url: "${pageContext.request.contextPath}/cbfx/getCbhzList.do", datatype: "json", mtype: GET, colNames:["成本類別","費用","去年同期費用","備注"], colMod…

手機只能簽榮耀!最忠誠代言人胡歌喊你去天貓超品日

在你心中&#xff0c;男神胡歌是什么樣子&#xff1f;“御劍乘風來&#xff0c;除魔天地間。”也許是《仙劍奇俠傳》里飛揚跋扈、青春不羈的俠客李逍遙。“遍識天下英雄路&#xff0c;俯首江左有梅郎。”也許是《瑯铘榜》中才智冠天下&#xff0c;遠在江湖卻名動帝輦的麒麟才子…

歐式距離與曼哈頓距離

歐式距離&#xff0c;其實就是應用勾股定理計算兩個點的直線距離 二維空間的公式 其中&#xff0c; 為點與點之間的歐氏距離&#xff1b;為點到原點的歐氏距離。 三維空間的公式 n維空間的公式 曼哈頓距離&#xff0c;就是表示兩個點在標準坐標系上的絕對軸距之和&#xff1a…

在maven pom.xml中加載不同的properties ,如localhost 和 dev master等jdbc.properties 中的鏈接不一樣...

【參考】&#xff1a;maven pom.xml加載不同properties配置[轉] 首先 看看效果&#xff1a; 點開我們項目中的Maven projects 后&#xff0c;會發現右側 我們profile有個可勾選選項。默認勾選localhost。localhost對應項目啟動后&#xff0c;會加載配置左側localhost文件夾下面…