日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

H.264学习历程(天之骄子)

發(fā)布時(shí)間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 H.264学习历程(天之骄子) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

半年前,我知道了H.264這個(gè)名詞。那個(gè)時(shí)候決定學(xué)習(xí)H.264,可是我連資料都不知道如何收集。而且整個(gè)學(xué)校就只有我一個(gè)人在學(xué)習(xí)H.264,找不到人交流,所以那個(gè)時(shí)候?qū)W得真的是舉步維艱,很痛苦,而能在網(wǎng)上認(rèn)識(shí)一個(gè)學(xué)習(xí)H.264的朋友真的是一件讓我很高興的事。 后來(lái)慢慢在網(wǎng)

半年前,我知道了H.264這個(gè)名詞。那個(gè)時(shí)候決定學(xué)習(xí)H.264,可是我連資料都不知道如何收集。而且整個(gè)學(xué)校就只有我一個(gè)人在學(xué)習(xí)H.264,找不到人交流,所以那個(gè)時(shí)候?qū)W得真的是舉步維艱,很痛苦,而能在網(wǎng)上認(rèn)識(shí)一個(gè)學(xué)習(xí)H.264的朋友真的是一件讓我很高興的事。

后來(lái)慢慢在網(wǎng)上找到了一些介紹H.264的文章,當(dāng)然也找到了peter李的網(wǎng)站,找到了流媒體論壇。那個(gè)時(shí)候在論壇里看見(jiàn)別人問(wèn)的問(wèn)題,我都完全不懂。看見(jiàn)別人要這樣資料要那樣資料,我也不知道這些資料怎么能夠用得著。最有趣的是我居然把JVT的會(huì)議文章全部下載下來(lái)了——當(dāng)時(shí)并不知道這幾百兆的東西到底怎么用,現(xiàn)在倒是知道它的用處了,看來(lái)還是沒(méi)有白下,呵呵~~~。

一開(kāi)始就想,先看看標(biāo)準(zhǔn)吧。因?yàn)闃?biāo)準(zhǔn)是英文的,又特別長(zhǎng)。所以為了避免看了后面忘記了前面,我就開(kāi)始翻譯,看一段翻譯一段。可是這個(gè)過(guò)程真的是又枯燥又痛苦。而且看著300多頁(yè)的東西,要像這樣來(lái)看完,還真是沒(méi)有勇氣和信心。想了想還是算了吧,看源代碼吧。當(dāng)時(shí)因?yàn)橹繨M是標(biāo)準(zhǔn)的測(cè)試模型,所以就看JM了。一開(kāi)始看代碼可是很老實(shí)的,每句程序,每個(gè)變量都跟蹤。等把讀入?yún)?shù)、初始化變量跟蹤完了,才知道,這一段沒(méi)必要看那么細(xì)致,完全可以跳過(guò)的。

就這樣看代碼看不懂的時(shí)候就查標(biāo)準(zhǔn)、去流媒體論壇問(wèn)。可是論壇有好處也有壞處,好處是可以有很多人參與,壞處是你問(wèn)的問(wèn)題無(wú)論怎樣都不可能馬上知道答案,于是一般來(lái)說(shuō)對(duì)你繼續(xù)讀代碼就是一個(gè)阻礙。于是去找H.264的QQ群,很高興找到了“H.264家園”,可是隨后很失望——見(jiàn)不到人問(wèn),也見(jiàn)不到人回答我的問(wèn)題。于是,生氣了,自己建了一個(gè)群,這樣終于有了一個(gè)比較好的交流環(huán)境。可是那個(gè)時(shí)候的H.264在我看來(lái)還只是一個(gè)遙不可及的華麗殿堂。QQ群里大家討論的問(wèn)題我仍然不懂。而我為了能盡快弄個(gè)像樣的題目來(lái)作為畢業(yè)論文,那個(gè)時(shí)候也沒(méi)有繼續(xù)看H.264的內(nèi)容,只不過(guò)花了一個(gè)半月的時(shí)間來(lái)實(shí)現(xiàn)一個(gè)在今天看來(lái)比較膚淺的錯(cuò)誤隱藏算法(因?yàn)槲医o自己定的方向是錯(cuò)誤隱藏)。

等到我的這篇論文完成已經(jīng)是9月中旬了,而這個(gè)時(shí)候?qū).264仍然是那么陌生。因?yàn)檫@段時(shí)間沒(méi)有繼續(xù)看H.264的內(nèi)容,以前看過(guò)的內(nèi)容,本來(lái)理解就不透徹、印象也就不深,所以基本上都忘記了。所以這個(gè)時(shí)候的我可以說(shuō)對(duì)H.264還處在只是知道個(gè)概念的階段。H.264實(shí)在是個(gè)龐大的東西,而對(duì)于中國(guó)人來(lái)說(shuō),它又是如此的新(個(gè)人認(rèn)為),大面積的商用都還沒(méi)有開(kāi)始。我要想在畢業(yè)之前在這里面做點(diǎn)有價(jià)值的東西在當(dāng)時(shí)看來(lái)實(shí)在不太可能,于是只有硬著頭皮繼續(xù)研究自己的錯(cuò)誤隱藏,希望能給自己的畢業(yè)論文增加一點(diǎn)分量。這樣就開(kāi)始看JM關(guān)于幀間錯(cuò)誤隱藏的代碼。因?yàn)镴M幀間錯(cuò)誤隱藏比幀內(nèi)的復(fù)雜得多,涉及到很多相關(guān)的問(wèn)題。所以在看代碼過(guò)程中也要對(duì)這些問(wèn)題做一些了解,再加上QQ群里的經(jīng)常討論,讓我真正開(kāi)始了學(xué)習(xí)H.264的起步。

等我把幀間錯(cuò)誤隱藏看完,已經(jīng)是10月底了,而這個(gè)時(shí)候正好我們學(xué)院要搞一次學(xué)術(shù)研討會(huì)。為了能給自己的畢業(yè)和以后找工作增加一點(diǎn)砝碼,我決定參加。于是開(kāi)始準(zhǔn)備會(huì)議報(bào)告,通過(guò)準(zhǔn)備會(huì)議報(bào)告,讓我對(duì)H.264的整體框架又一次做了回顧和熟悉。時(shí)間終于走到了今天,我很高興地感覺(jué)到,自己已經(jīng)站在H.264的門(mén)口了——總是有進(jìn)步的。呵呵~~~

現(xiàn)在自己對(duì)學(xué)習(xí)H.264也有了一些自己的想法,所以寫(xiě)出來(lái)和大家一起探討:

1、第一個(gè)階段:
學(xué)習(xí)H.264,首先要把最基本最必要的資料拿在手里,內(nèi)容包括:標(biāo)準(zhǔn)文檔(即 ITU 協(xié)議)、測(cè)試模型(即 ITU 提供的編解碼器源代碼)、經(jīng)典文章(即后面提到的文章)。怎么使用這些資料呢?首先看里面的《H.264_MPEG-4 Part 10 White Paper》,看完之后再看《Video coding using the H.264 MPEG-4 AVC compression standard》和《H.264 And MPEG-4 Video Compression》,然后可以抽空看《Overview of the H.264_AVC Video Coding Standard.pdf》。前三篇文章看完后,你應(yīng)該對(duì)H.264的整體框架有個(gè)比較深入的了解了。這個(gè)時(shí)間可能只需要花費(fèi)你三周左右的時(shí)間(對(duì)于我這樣的笨蛋好像是要這么長(zhǎng)時(shí)間的。如果你碰巧用了比這個(gè)時(shí)間還長(zhǎng)的時(shí)間,那并不說(shuō)明你比我更笨,只能說(shuō)明你肯定天天陪MM聊天去了。呵呵~~~),最后一篇文章是《Overview and Introduction to the Fidelity Range Extensions》,該文的價(jià)值主要在于對(duì)H.264的第四個(gè)檔次 high profile 做了介紹,前面的文章都沒(méi)有涉及該檔次。這個(gè)階段可以輔助多看點(diǎn)綜述類的文章,加強(qiáng)對(duì) H.264 的初步了解。

2、第二階段:
然后你就可以看代碼了。這個(gè)時(shí)候你最常用的工具就是標(biāo)準(zhǔn)文檔和測(cè)試模型。看代碼也有講究。并不是像我開(kāi)始那樣看得那么仔細(xì),結(jié)果后來(lái)才知道遠(yuǎn)沒(méi)有這個(gè)必要。正如peter李說(shuō)的:看代碼也要先從整體框架入手。先搞懂H.264的整體框架在代碼里是怎么分布的,一個(gè)功能模塊的前伸模塊和后繼模塊是什么。也就是搞清楚整個(gè)代碼流程。這個(gè)階段對(duì)標(biāo)準(zhǔn)文檔的使用可能很少。如果你使用的測(cè)試模型是JM,那么有一個(gè)好處:JVT提供了該參考源代碼的說(shuō)明書(shū)——H.264_MPEG-4 AVC Reference Software Manual(最新版本是JVT-X072),對(duì)編解碼的所有參數(shù)做了詳細(xì)介紹。另外JVT還提供了參考源代碼編碼器手冊(cè)JVTO079,對(duì)參考源代碼中編碼算法做了詳細(xì)闡述(ITU協(xié)議其實(shí)也就是解碼器手冊(cè))。

3、第三階段:
然后你找到一個(gè)自己感興趣的切入點(diǎn),開(kāi)始以此為中心研究這個(gè)問(wèn)題。你研究問(wèn)題的時(shí)候應(yīng)該是聯(lián)系測(cè)試模型來(lái)研究,這個(gè)時(shí)候你就需要仔細(xì)看代碼中對(duì)這個(gè)問(wèn)題的實(shí)現(xiàn)了。這個(gè)階段我絕對(duì)支持你一行行代碼跟蹤,一個(gè)參數(shù)一個(gè)參數(shù)地跟蹤。而代碼中不懂的地方可能需要查標(biāo)準(zhǔn)。這時(shí)你再來(lái)看標(biāo)準(zhǔn)文檔就有了針對(duì)性。也因?yàn)槟軐?biāo)準(zhǔn)文檔和代碼對(duì)應(yīng)起來(lái),從而看標(biāo)準(zhǔn)文檔也不覺(jué)得有太大困難,也能明白標(biāo)準(zhǔn)文檔說(shuō)的是什么問(wèn)題,在測(cè)試模型中是如何通過(guò)代碼實(shí)現(xiàn)的。在這個(gè)階段中,會(huì)牽連到很多H.264的相關(guān)知識(shí),這樣通過(guò)以點(diǎn)帶線,以線帶面。你會(huì)對(duì)H.264的內(nèi)容認(rèn)識(shí)越來(lái)越多。而你也就找到了自己的方向,最終走上了締造中國(guó)人的H.264的光輝大道,呵呵~~~

==========【注意事項(xiàng)】==========
1、切忌將代碼和標(biāo)準(zhǔn)文檔獨(dú)立開(kāi)看,否則,你的困難會(huì)很大(當(dāng)然可能是因?yàn)槲姨苛?#xff0c;對(duì)于“甜菜”的你可能無(wú)論怎樣都能應(yīng)用自如。呵呵~~~)。
2、對(duì)于剛開(kāi)始接觸H.264的人,切忌直接看代碼和標(biāo)準(zhǔn),哪怕是將標(biāo)準(zhǔn)和代碼結(jié)合起來(lái)看,你也會(huì)不太順利。換句話說(shuō):在沒(méi)有了解H.264整體框架之前,你最好什么都不要做。
3、你千萬(wàn)不要覺(jué)得自己參加討論,以及幫助別人找答案(當(dāng)然是在你覺(jué)得別人問(wèn)的問(wèn)題你似曾相識(shí)的時(shí)候)是一個(gè)浪費(fèi)時(shí)間的過(guò)程。因?yàn)槟銋⒓佑懻?#xff0c;特別是你幫別人找答案的時(shí)候,很多你似是而非的問(wèn)題卻能夠得到一個(gè)更深刻的認(rèn)識(shí)。
4、學(xué)問(wèn),學(xué)問(wèn),即要問(wèn)也要學(xué)。不要養(yǎng)成自己的依賴思想。其實(shí)你在自己查資料的過(guò)程中,也會(huì)學(xué)到很多東西。比如會(huì)知道某個(gè)問(wèn)題在哪篇文章里能找到答案,或者收集到更多相關(guān)問(wèn)題的有價(jià)值的文章……而且自己查到的到底比別人告訴的印象深刻。
5、讀代碼要講究方法。代碼中有很多變量,不要一開(kāi)始就去看頭文件,想把里面所有變量都弄清楚是什么。直接從 main 函數(shù)開(kāi)始讀 c 文件就可以了。遇到不懂的變量再去查頭文件,如果頭文件里沒(méi)有說(shuō)明,自己又理解不了的再去問(wèn)其他人——不要一開(kāi)始就養(yǎng)成依賴性。
6、使用 JM 的 TX 如果不需要研究高清,那么建議用 JM86。高版本為了支持高清,把很多原本容易理解的地方修改得晦澀難懂了,增加了理解代碼的困難。

PS :我所知道的三本講H264的中文書(shū)籍
1、《H.264和MPEG-4視頻壓縮》:歐陽(yáng)合(我看的英文原版,翻譯過(guò)來(lái)的應(yīng)該也不錯(cuò))
2、《新一代視頻壓縮編碼標(biāo)準(zhǔn)—H.264/AVC》:畢厚杰(書(shū)中有較多錯(cuò)誤,但仍然值得買(mǎi),建議只做參考)
3、《小波編碼與網(wǎng)絡(luò)視頻傳輸》:沈蘭蓀,卓力 (個(gè)人覺(jué)得不錯(cuò),有關(guān)于 high profile 的介紹)

——天之驕子·firstime——
2005年11月12日

原文:bbs.chinavideo.org/viewthread.php?tid=988

總結(jié)

以上是生活随笔為你收集整理的H.264学习历程(天之骄子)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。