1.HM下載
- HM不能直接網頁下載,因為它是采用svn來管理代碼的,因此需要利用svn下載,這里采用TortoiseSVN(軟件下載地址為https://tortoisesvn.net/)進行下載。
- 下載並安裝TortoiseSVN,在桌面任意位置右鍵,打開repo-browser
- 在彈出來的URL框填入HM的下載地址:https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/
svn_HEVCSoftware分成三個大類:
trunk:主干程序,是最新的HM主線版本。
branches:分支程序,是擴展的HM版本。
tags:各個版本的HM版本。
- 然后就能看到HM相關文件夾,所發布的HM版本在tags文件夾中
- 在需要的版本中右鍵選擇“checkout”,即可進行下載。這里選擇的是最新版HM-16.17
關於版本,可以看到早期版本中有“RExt”字樣,RExt表示Format Range Extension,用於支持4:0:0,4:2:2,4:4:4的顏色空間和額外比特深度。但到HM16.0后,RExt已經並入HM主線,因此不再單獨列出RExt。而對於有”SCM”字樣版本,即包含SHVC,MV-HEVC,3D-HEVC版本分支。
2.HM運行
- 在HM16.18->build文件夾中,點擊對應的VS版本打開,這里以HM_vc2015.sln為例,可以看到右側出現9個項目。
- 右擊“解決方案‘HM_vc2013’(9個項目)”->”生成解決方案”。debug,win32可選,與系統是否是64位的無關,不影響工程運行
生成成功后,在HM16.7下會生成一個“bin”文件夾,在bin\vc2013\Win32\Debug中會有2個可執行文件:TAppEncoder.exe和TAppDecoder.exe
- 我們主要對HEVC編碼器進行研究,即將yuv格式碼流編碼成HEVC格式數據,所以主要關注TAppEncoder。
右擊解決方案中“TAppEncoder”->“設為啟動項目”
再右擊“TAppEncoder”->”屬性”->”配置屬性”->”調試”
在工作目錄欄指定工作目錄路徑,這里在HM16.7下創建了一個workspace的文件夾作為工作目錄。
在命令參數欄中需要填寫的是用到的配置文件名,包含2個:
(1)編碼器配置文件: encoder_intra_main.cfg,文件路徑:D:\HEVC\HM16.7\cfg。並把該文件復制到workspace中。
(2)視頻源配置文件(該用於指定輸入yuv測試文件,分辨率,待編碼幀數等):為了日后使用方便,在workspace中新建一個bitstream.cfg的配置文件,配置的編寫復制HM16.7\cfg\per-sequence中的相應配置即可。(如,我們需要壓縮BasketballDrill視頻文件,則打開BasketballDrill.cfg並把其中的配置復制到bitstram.cfg中。但注意要修改InputFile的地址,這個后面會提到)。 -
指定源數據文件
下載地址1:http://ftp.kw.bbc.co.uk/hevc/hm-15.0-anchors/bitstreams/i_main/ ;
該地址下載下來的是.bin格式的265壓縮文件,需經265解碼器解碼成yuv格式文件才可為編碼器使用。
下載地址2(已經失效):https://pan.baidu.com/share/link?shareid=976413622&uk=204312922#list/path=%2F
該地址下載下來的是.yuv的yuv文件,可用於265編碼器編碼。這里下載了一個BasketballDrill_832x480_50.yuv文件用於編碼測試 - 修改配置文件
在HM16.7\cfg\per-sequence中找到BasketballDrill.cfg,並把其中的配置復制到bitstream.cfg
修改bitstream.cfg中的配置:
InputFile修改為碼流路徑,注意路徑不能有中文字符,斜線方向不影響。
FramesToBeEncoded修改為5.即只編碼5幀,這里只為縮短編碼時間。修改encoder_intra_main.cfg中的配置:
將QP值修改為51,以減小壓縮后的碼流量大小注意:以上配置不能亂改,一旦不滿足規范,則程序無法正常運行。 (如IntraPeriod和GOPSize這兩個參數的修改就有點復雜,一些都選1,即都是I幀,如果不是,還要設置一些參數,而不是簡單改變數值。例子見encoder_lowdelay_main_rext.cfg)。
- 運行程序
運行過程中出現如下界面,運行結束后在workspace中生成2個文件:str.bin和rec.yuv。前者是編碼后的碼流文件,后者是重建的yuv格式圖像
3.碼流分析
目前HEVC有幾款不錯的碼流分析軟件,CodecVisa,Elecard HEVC Analyzer等,但CodecVisa收費,Elecard HEVC Analyzer可以找到破解版,下面來簡單介紹Elecard HEVC Analyzer的使用方法。
打開Elecard HEVC Analyzer,然后打開編碼得到的.bin文件。







4.錯誤分析

(1)編碼輸入的分辨率錯誤,只能改好重新編碼一下。
5.參考鏈接
-
https://blog.csdn.net/u011025888/article/details/78841829
- https://blog.csdn.net/lin453701006/article/details/52775820