HEVC學習(一)—— HM的使用

由於這是第一次寫博客,而且學習也是個循序漸進的過程,第一篇文章就簡單介紹下如何使用HEVC的官方標準測試模型HM吧。其實如果之前學習過H.264的話,肯定也是用過JM的,HM的使用方法與JM基本上是相同的,只是配置文件的內容有所不同罷了。好了,不多說,馬上進入正題。

 

首先自然是先把這個測試模型下載下來,鏈接地址如下:https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/,這個網址下有各個版本的HM,到目前爲止,最新版本是HM 9.0,可以根據自己的實際需求進行選擇。這裏需要注意的是,下載時需要使用SVN,如windows下的TortoiseSVN 。

 

其次,最好附帶下載HM的reference software manual即參考軟件手冊,這個手冊的主要內容包括HM的下載地址和使用方法,更重要的是,裏面包含了對配置文件各個參數的詳細解釋,可以說是使用HM的必備手冊。

 

最後,就是真正地編譯HM工程了。從運行環境來講,既可以在linux系統下使用makefile對HM進行編譯,也可以在windows系統下使用IDE如VS對HM進行編譯。我個人是用VS2008作爲開發環境,因此,這裏也只介紹使用VS編譯HM。關於linux下如何進行,請參看前面提到的參看軟件手冊吧微笑

 

打開下載下來的HM文件夾,工程存放在build目錄下,工程名爲HM_VC9(對VS2008而言)。右擊“Solution 'HM_VC9'(7 projects)”->“build solution”。正常的話,等待片刻所有工程都能得到正確的編譯,並最終在HM文件夾下生成bin目錄,在目錄xxx\bin\vc9\Win32\Debug下,最終會生成兩個可執行文件,TAppEncoder.exe和TAppDecoder.exe,分別問編碼和解碼的可執行文件,到了這一步,表明你之前的步驟都是正確的。接下來就能進入到編解碼器的使用當中來了。

 

先說編碼器的使用:右擊“TAppEncoder”->“Set as Startup Project”, 接着,再次右擊“TAppEncoder”->“Properties”->“Configuration Properties”->“Debugging”,在彈出的右窗口中有這麼兩行需要關注:“Command Arguments“和“Working Directory”。前者用於輸入運行時的命令參數,後者用於指定工程的工作目錄。先說工作目錄,將其設置爲xxx\bin\vc9\Win32\Debug,即上一步中編譯生成的可執行文件的絕對路徑。接下來,爲了方便起見,我們可以把需要使用到的配置文件、yuv測試序列複製到該目錄下。與JM有所不同的是,我們需要至少使用兩個配置文件,即在HM文件夾的cfg目錄中的某一個配置文件如encoder_intra_main.cfg,以及per-sequence目錄下的某一個配置文件如BasketballDrill.cfg。前者主要用於配置編碼器的各種編碼參數,後者主要用於指定輸入yuv測試文件,分辨率,待編碼幀數等等。在完成了上述步驟之後,我們就可以在“Command Arguments”一欄填入-c encoder_intra_main.cfg -c BasketballDrill.cfg,表明這個編碼器使用這兩個配置文件所指定的參數進行編碼。 [如果感覺麻煩的話,可以使用相對路徑如: -c ..\..\..\..\cfg\encoder_intra_main.cfg -c ..\..\..\..\cfg\BasketballPass.cfg]

 

此外,值得一提的是,使用配置文件不是必須的,我們也可以使用純命令行的輸入方式對編碼器的各個參數進行指定,具體使用方法,請參考軟件手冊。在一些特定情況下如只需修改其中的少數參數值,這種純命令行方式還是比較方便的,但是,這種做法容易漏掉一些參數值的設置(儘管它們有默認值),而且對於經常修改多個參數來說,遠不如直接修改配置文件來得方便和準確。因此,個人推薦使用上一種方法進行設置。

 

在進行如上配置後,正常情況下編碼器就能將你指定的yuv測試文件編碼爲二進制碼流文件了。

 

再說解碼器的使用:在到填入“Command Arguments”之前,跟編碼器是完全一樣的,這裏就不再重複了,輸入的命令如下-b xxx.bin -o deco.yuv,-b指定輸入的二進制碼流,即編碼輸出碼流文件,-o指定輸出的yuv文件。設置完畢之後,運行解碼器,應該能夠解碼出deco.yuv文件來了。[對各個參數進行配置時,shorthand(-o,-b等)可以參考doc/software-manual.pdf文檔]

 

至此,簡單的HM使用介紹完畢,歡迎大家對該文考慮不周和錯誤的地方進行補充和指定。


[轉載: http://blog.csdn.net/hevc_cjl/article/details/8169182] 黃色部分爲原創

發佈了21 篇原創文章 · 獲贊 34 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章