《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高清AVS熵編碼硬件設計
基于FPGA的高清AVS熵編碼硬件設計
來源:電子技術應用2014年第2期
張貞雷,王祖強,蔣 霞,李文軍
(山東大學 信息科學與工程學院,山東 濟南250100)
摘要: 為實現高清AVS熵編碼硬件設計,通過對算法模塊進行分析,將碼表切換、碼字計算和指數哥倫布編碼設計成流水線并行處理單元。利用并行zig-zag掃描,加快了處理速度。同時采用組合邏輯實現碼表查找,設計碼長確定器,節省了硬件資源。
中圖分類號: TN919.8
文獻標識碼: A
文章編號: 0258-7998(2014)02-0042-04
FPGA-based hardware design of HD entropy coding in AVS
Zhang Zhenlei,Wang Zuqiang,Jiang Xia,Li Wenjun
School of Information Science and Engineering, Shandong University, Ji′nan 250100,China
Abstract: To implement hardware design of HD AVS entropy coding, through analysis of the algorithm module, code table switching, computing of codeword and exponential-Golomb encoding are designed to pipeline processing unit. Parallel zig-zag scan is taken to accelerate the speed of processing. At the same time, combinational logic which implements code table switching and code length determiner is taken to save the hareware resources.
Key words : AVS;entropy encoding;HD;pipeline;code length determiner

    音視頻編碼標準AVS(Audio Video coding Standard)是我國具備自主知產權的第二代信源編碼標準[1]。AVS標準在獲得高編碼效率的同時降低了實現的復雜度[2]。AVS預測殘差系數首先經過整數DCT變換和量化,量化器輸出是一個包含少數非零系數和大量零系數的矩陣,在熵編碼之前必須進行重排序,并對零系數進行有效的表示[3],因此要進行zig-zag掃描和游程編碼。之后的輸出是一個數組,用(run,level)表示,其中run表示非零系數之前的零的個數,level 表示非零系數的值。run、level之間存在很強的相關性,因此run、level共用一個可變長碼字進行編碼,這種編碼方式叫做二維可變長編碼[4]。
    由于AVS熵編碼運算復雜,費時較長,本文采取流水線設計方式,利用并行zig-zag掃描加快了編碼速度,并設計了碼長確定器,節省了硬件資源,完成高清AVS熵編碼硬件設計。
1 熵編碼硬件設計
    AVS熵編碼硬件設計包括量化數據輸入、zig-zag掃描、游程編碼、碼表切換、組合邏輯查找、指數哥倫布編碼和碼流輸出7個模塊,電路框圖如圖1所示。

1.1 并行zig-zag掃描
    首先將量化系數輸入到Ram0中,一個時鐘輸入8個,因此對于一個8×8的矩陣,只需要8個時鐘就可以完成輸入。然后按圖2所示存入相應的Ram0地址,圖中的數字代表AVS標準中規定的zig-zag掃描的順序。
    與傳統的MPEG/H.26L的VLC不同,在AVS中,采用zig-zag掃描的系數處理順序,這種掃描順序更易遵循level信息的變化[5]。本文采用并行zig-zag掃描,如圖3所示。一個時鐘周期內讀出4個量化系數Out0、Out1、Out2、Out3,并且Ram0中的數據按圖3括號里的數字所代表的方向順序移動一次。例如表中的4(0)、5(1)分別表示在時鐘沿到來時4號地址的數據移動到0號地址,5號地址的數據移動到1號地址。對于8×8塊,最多需要16個時鐘就可以完成掃描。與以往文獻[6]相比,本設計將掃描時間減少了一半,加快了處理速度。
1.2 游程編碼
    本設計中的并行zig-zag掃描有可能在一個時鐘內讀出4組(run,level),因此在存儲游程編碼輸出時利用了4個深度為16的Ram,結構框圖如圖4所示。

    圖4中的“掃描結果判斷邏輯”的實現方法:對掃描結果Out0~Out3進行非零判斷。為方便描述,規定若掃描結果不為0,則用1表示,否則用0表示,因此Out0~Out3的結果可以描述為0000~1111。定義變量num,用來表示兩個level之間的0的個數,初始化為0。掃描結果的存儲順序是先存Ram1~Ram4的0號地址,再存Ram1~Ram4的1號地址,依次存儲。例如,若掃描結果為0100,則令run0=num+1,level0=Out1,存儲(run0,level0),并令num=2。若掃描結果為1011,令run0=num, level0=Out0;run1=1,level1=Out2;run2=0,level2=Out3,依次存儲(run0,level0)、(run1,level1)、(run2,level2),并令num=0。
1.3 流水線設計
    流水線技術的本質是把一個很大的總運算單元劃分成多個獨立的子運算單元,某一個時間段內各個子單元可以并行工作,從而提高數據處理速度。
    本設計中將碼表切換、組合邏輯查找和指數哥倫布編碼設計成流水線結構,同時這種硬件結構也節省了大量存儲中間結果所需要的空間。流水線結構如圖5所示,圖中的1~5表示第1~5組(run,level)。
1.4 碼表切換模塊設計
    本模塊的功能是得到當前(run,level)組對應的碼表號。實現過程為:若前一組level的絕對值大于跳轉門限,則根據AVS標準中的碼表跳轉規則進行碼表切換,得到當前(run,level)組的碼表號tablenum,并更新跳轉門限;否則,碼表號tablenum不變,即當前組的碼表號是由上一組level的絕對值決定的。該硬件結構如圖6所示。1.5 組合邏輯查找

    編碼時從最后一組(run,level)開始,為節約存儲器資源,本文采取組合邏輯映射查表的方法,避免了訪問存儲器帶來的延遲[7]。該方法由run、level和碼表號tablenum組成查表索引,輸入到組合邏輯中,得到對應的碼字codenum。由于AVS熵編碼正常編碼部分對應的碼字是0~59(共60個),很多查表索引對應相同的碼字codenum,因此把相同的索引路徑合并,從而有效減少映射路徑,提高索引效率。例如由于表VLC0_Intra中(run,level)為(3,1)時所對應的碼字和表VLC1_Intra中(run,level)為(2,1)時所對應的碼字都是6,因此可將這兩條索引路徑合并,由同一條索引路徑映射出碼字。
1.6 指數哥倫布編碼
    在AVS標準中宏塊層以上的語法元素采用定長碼或0階指數哥倫布碼編碼[8]。殘差系數采用基于上下文的二維變長編碼,即對通過組合邏輯查找得到的碼字codenum進行0、1、2或3階指數哥倫布編碼,逃逸編碼則采用0或1階指數哥倫布編碼,在AVS標準中已經規定了每張碼表對應的指數哥倫布編碼的階數。圖7為產生階數K的硬件電路,其中flag為標志位,若該碼字為正常編碼,則flag為0;若為逃逸編碼,則flag為1。

1.7 碼長確定器和碼字輸出
    由于指數哥倫布編碼屬于變長編碼,因此在編碼時指數哥倫布碼長度的確定是影響整個編碼器效率的關鍵問題[9]。若要準確地輸出,就必須確定出碼字的具體位數,以往文獻[10]中是另外開辟存儲空間來存儲每一個碼字的位數。本設計使用了碼長確定器結構,直接從讀出的碼字進行位數的判斷,從而節省了存儲空間。
    由于碼字的后綴部分不超過16 bit,因此該結構將高16位輸入分為兩組進行檢測。“或門”將高8位輸入進行“或”運算,用來檢測碼字高8位中是否含有1。在MUX中,如果“或門”的輸出為1,則選擇Code[15:8]作為輸入;否則,選取Code[7:0]。編碼器從輸入的最高位開始逐位檢查是否為1,若為1則輸出編碼值。如果最高位為1,則輸出111;如果次高位為1,則輸出110,依次類推,R[2:0]依次減1輸出。如果“或門”的輸出為1,則選擇器對R[2:0]進行加8操作,否則R[2:0]的值不變。選擇器的輸出M就是首1的具體位置。根據式(3)就可以得到碼字的長度Length。碼長確定器的硬件結構如圖8所示。
    在碼字輸出時,熵編碼將各種信息以二進制的形式逐個比特寫入碼流,最終以字節為單位進行封裝,這樣會增加運算時間,使得編碼效率極低[10]。本設計中采用雙字節為單位寫入碼流,極大地加快了熵編碼速度。實現方法:將完成編碼的碼字Code存儲到寬度為16的Ram中,設置一個32 bit的碼流緩沖器,變量pos表示碼流緩沖器中有效碼字的位置,初始值為31,在有效碼字數大于或者等于16(即pos<16)時,碼流緩沖器左移輸出16 bit數據Codestream,然后pos加16。變量Length表示輸入到緩沖器中碼字的位數。輸出模塊的硬件結構如圖9所示。

 

 

2 驗證、實現結果及仿真分析
2.1 驗證

    驗證思路是將AVS參考軟件產生的測試向量作為激勵,輸入到熵編碼模塊,然后將其結果與軟件編碼的結果進行比對,從而驗證熵編碼模塊設計的正確性。本設計中參考軟件產生的測試向量為2,0,2, 0,1,0,11,5,2,
7,0,1,0,0,2,8,4,0,2,0,0,1,1,0,1,0&hellip;&hellip;0共64個數據。熵編碼模塊的仿真輸出結果如圖10所示。

    通過觀察熵編碼的仿真輸出結果與AVS參考軟件的輸出結果是一致的,從而驗證了本設計的功能。
2.2 硬件實現結果
    硬件模塊采用Verilog HDL硬件描述語言,實現了AVS熵編碼模塊的硬件設計,使用Quartus II 8.0進行綜合與仿真,目標器件是Cyclone II系列的EP2C35F672C8。結果表明約消耗38K邏輯門,工作頻率約為120 MHz。在所有量化系數有50%不為零的情況下(實際中不為零的量化系數所占比例遠低于50%),完成一個8&times;8塊的數據編碼所需的時鐘周期為48,即所需時間為4&times;10-7 s。對于高清編碼(1 080p,30 f/s,視頻格式4:2:2),要求完成一個8&times;8塊所需時間為5&times;10-7 s,因此完全滿足高清編碼的要求。
2.3 仿真分析
    本設計的整體仿真結果如圖11所示。

    從圖11中可以看出,本設計一個時鐘內讀出4個量化數據Out0~Out3,并且根據Out0~Out3中非零個數完成游程編碼,完成了本文中的并行zig-zag掃描的設計目標;碼表切換、組合邏輯查找和指數哥倫布編碼按照本文設計的流水線結構進行。此外,碼長確定器的輸出Length正確,完成了本文中碼長確定器的設計目標,可直接從讀出的碼字進行位數的判斷。
    本文采用組合邏輯進行碼表查找,設計了碼長確定器,節省了硬件資源;采用流水線設計和并行zig-zag掃描,加快了熵編碼的處理速度,編碼性能達到了高清視頻編碼的要求,對AVS高清視頻編碼芯片設計具有一定的參考意義。
參考文獻
[1] AVS工作組.信息技術先進音視頻編碼:視頻[M].北京:中國標準出版社,2006.
[2] 李文軍,王祖強,徐輝.基于FPGA的AVS幀內預測電路設計[J].電子技術應用,2013,39(8):50-53.
[3] 劉寧.基于DSP的DCT變換和量化技術研究[D].浙江:浙江大學,2007.
[4] Wang Qiang,Zhao Debin,Gao Wen.Context-based 2D-VLC entropy coder in AVS video coding standard[J].Journal of Computer Science and Technology,2006,21(3):315-322.
[5] Xu Long,Deng Lei,Ji Xingyang,et al.Hardware architecture for AVS entropy encoder[C].Consumer Electronics (ICCE),2008.
[6] 劉錦陽.基于FPGA的AVS實時高清視頻編碼器的研究與實現[D].上海:上海大學,2009.
[7] 黃玄,陳杰,李霞,等.AVS高清視頻變長解碼器算法與電路實現[J].微電子學與計算機,2009,26(1):76-80.
[8] 周小龍,王祖強,魏先政.AVS及H.264雙模可變長解碼器設計[J].計算機工程,2012,38(12):222-224.
[9] 王小東.AVS視頻編碼器的熵編碼與插值部分的FPGA設計與實現[D].濟南:山東大學,2011.
[10] 白玉婷,張剛.AVS熵編碼的FPGA實現[J].軟件,2012,33(2):102-104.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲国产精品精华液2区45| 国产精品www.| 欧美日韩一二三四五区| 亚洲性感美女99在线| 亚洲乱码精品一二三四区日韩在线| 欧美一区免费| 欧美日韩你懂的| 欧美理论电影网| 在线色欧美三级视频| 久久噜噜亚洲综合| 亚洲国产一区视频| 悠悠资源网亚洲青| 国产精品久久久久久一区二区三区| 国产毛片精品国产一区二区三区| 影音先锋久久| 久久精品国产精品| 国产九九精品视频| 久久成人资源| 久久在线免费视频| 狠狠色综合网站久久久久久久| 亚洲一区二区免费看| 99精品99久久久久久宅男| 女女同性精品视频| 欧美午夜美女看片| 极品少妇一区二区三区精品视频| 欧美成人资源| 久久成人免费电影| 亚洲第一二三四五区| 午夜精品久久久久久久久久久久久| 欧美日韩高清在线播放| 久久精品国产成人| 国内外成人在线| 亚洲欧美中文日韩在线| 好吊日精品视频| 欧美手机在线视频| 久久久久久久欧美精品| 亚洲黄一区二区| 黄色在线一区| 一片黄亚洲嫩模| 亚洲国产精品成人| 亚洲天堂av电影| 欧美日韩国产bt| 欧美日韩国产不卡在线看| 亚洲制服少妇| 欧美阿v一级看视频| 亚洲欧美日韩在线高清直播| 欧美午夜www高清视频| 一区二区国产精品| 午夜国产一区| 亚洲欧洲在线免费| 狠狠久久亚洲欧美专区| 国产精品久久久久久久免费软件| 国产午夜亚洲精品不卡| 午夜精品一区二区在线观看| 亚洲精品欧美一区二区三区| 国产精品狠色婷| 亚洲国产美女久久久久| 久久在线播放| 欧美午夜不卡在线观看免费| 91久久精品一区| 午夜久久美女| 欧美一级免费视频| 亚洲免费观看在线观看| 欧美韩日亚洲| 久久久国产精品一区二区中文| 亚洲成人在线免费| 国产欧美日本| 午夜一级久久| 久久久久综合一区二区三区| 国产精品高清免费在线观看| 亚洲精品影视| 一本色道久久综合精品竹菊| 国模精品娜娜一二三区| 久久久久久久一区二区| 亚洲午夜精品网| 亚洲视频图片小说| 中文在线资源观看视频网站免费不卡| 亚洲免费网站| 国产区日韩欧美| 国产性天天综合网| 激情欧美一区二区三区| 欧美亚洲三区| 欧美成人r级一区二区三区| 国产日韩精品电影| 亚洲成人在线视频播放| 亚洲一区精品在线| 一区二区三区久久精品| 亚洲欧美色一区| 国产精品mv在线观看| 欧美激情精品久久久久久大尺度| 久久综合久色欧美综合狠狠| 久久久精品免费视频| 亚洲一线二线三线久久久| 欧美在线播放一区| 红杏aⅴ成人免费视频| 狠狠综合久久| 国产精品亚洲综合一区在线观看| 午夜精彩视频在线观看不卡| 永久免费视频成人| 久久爱www| 伊人久久综合97精品| 亚洲三级影院| 黄色成人在线免费| 欧美精品一卡二卡| 国产综合第一页| 欧美一区二区视频免费观看| 亚洲毛片在线免费观看| 久久久女女女女999久久| 正在播放亚洲| 91久久久久久久久| 国产精品精品视频| 亚洲人成高清| 欧美一级免费视频| 亚洲精品中文字幕在线观看| 国产精品二区在线观看| 午夜久久黄色| 欧美国产1区2区| 亚洲欧洲日本一区二区三区| 国产精品狠色婷| 欧美片网站免费| 国产亚洲人成a一在线v站| 国产亚洲视频在线| 黄色亚洲大片免费在线观看| 欧美日韩在线免费视频| 亚洲视频精品| 国产精品亚洲综合一区在线观看| 亚洲欧美精品在线| 日韩性生活视频| 国产亚洲成年网址在线观看| 国模 一区 二区 三区| 欧美三级电影一区| 亚洲国产美国国产综合一区二区| 在线免费一区三区| 国产精品亚发布| 亚洲国产精品t66y| 欧美日韩第一页| 国产精品黄色在线观看| 国产精品a久久久久| 亚洲午夜三级在线| 午夜免费电影一区在线观看| 欧美日韩视频在线观看一区二区三区| 一区二区三区精品视频在线观看| 国产精品国产三级国产普通话三级| 欧美无乱码久久久免费午夜一区| 欧美电影资源| 美女诱惑一区| 加勒比av一区二区| 一区在线免费| 国产最新精品精品你懂的| 欧美亚洲视频在线观看| 亚洲精品欧美| 欧美精品国产精品日韩精品| 亚洲乱码国产乱码精品精天堂| 欧美视频一区在线| 国内外成人免费激情在线视频网站| 欧美视频专区一二在线观看| 亚洲愉拍自拍另类高清精品| 国产日韩欧美日韩| 久久国产精品一区二区三区四区| 性欧美xxxx大乳国产app| 国产免费观看久久| 欧美一区2区视频在线观看| 国产亚洲一区二区三区在线播放| 久久精品亚洲一区二区三区浴池| 亚洲精品久久久久久久久久久久| 国产亚洲精品综合一区91| 国产精品剧情在线亚洲| 中文av字幕一区| 欧美精品乱码久久久久久按摩| 亚洲午夜免费视频| 久久99伊人| 亚洲免费av片| a4yy欧美一区二区三区| 欧美日韩精品是欧美日韩精品| 久久五月激情| 国产精品日韩在线| 国产日韩精品一区观看| 久久精品国产第一区二区三区最新章节| 国内精品久久国产| 狠狠色伊人亚洲综合成人| 国产一区二区精品| 伊人久久大香线蕉av超碰演员| 亚洲砖区区免费| 国产伦精品一区二区三区高清版| 国产亚洲成精品久久| 国产欧美精品在线| 国产亚洲网站| 蜜臀91精品一区二区三区| 欧美黄色网络| 欧美成人一区二区三区片免费| 欧美大片在线观看一区二区| 久久午夜电影| 国产精品亚洲网站| 久久精品午夜| 欧美中文日韩| 亚洲狼人综合| 亚洲精品欧洲| 欧美综合77777色婷婷| 亚洲人成网站777色婷婷| 99re6这里只有精品视频在线观看| 在线欧美日韩| 久久精品九九| 亚洲国产日韩综合一区| 欧美一区二区三区免费视| 亚洲欧洲一区二区在线观看| 欧美午夜在线| 小处雏高清一区二区三区| 欧美午夜不卡在线观看免费| 欧美三级网址| 午夜视频在线观看一区二区| 亚洲精品一区二| 韩日欧美一区二区| 欧美精品福利在线| 日韩一区二区久久| 今天的高清视频免费播放成人| 欧美日韩mv| 亚洲午夜国产一区99re久久| 久久综合久久综合久久综合| 在线免费观看一区二区三区| 性做久久久久久久久| 欧美亚洲系列| 国产色婷婷国产综合在线理论片a| 国产日韩视频一区二区三区| 国产婷婷97碰碰久久人人蜜臀| 午夜日韩视频| 国产欧美日本一区二区三区| 久久九九热免费视频| 国产精品久久久久久久久久三级| 在线亚洲高清视频| 最新日韩中文字幕| 亚洲精品一区二区三区蜜桃久| 91久久精品网| 午夜在线精品| 国产一在线精品一区在线观看| 中文亚洲欧美| 欧美一区二区私人影院日本| 精品动漫3d一区二区三区免费| 欧美久久久久免费| 欧美大片在线观看一区| 欧美在线免费视频| 亚洲欧美日韩一区二区在线| 免费日韩一区二区| 亚洲国产精品久久久久婷婷884| 夜夜狂射影院欧美极品| 国产精品老牛| 亚洲欧美三级伦理| 欧美一级免费视频| 久久亚洲私人国产精品va| 韩日精品视频| 欧美午夜理伦三级在线观看| 欧美另类一区| 麻豆91精品91久久久的内涵| 欧美高清在线| 午夜视频一区二区| 欧美成人免费观看| 一区二区av在线| a91a精品视频在线观看| 亚洲午夜视频在线| 在线观看日韩www视频免费| 亚洲人体影院| 亚洲黄色三级| 一本色道久久综合亚洲精品小说| 欧美激情中文字幕一区二区| 猫咪成人在线观看| 欧美日韩高清在线观看| 亚洲高清自拍| 欧美日韩午夜在线视频| 久久伊伊香蕉| 欧美福利在线| 亚洲国产精品激情在线观看| 精品96久久久久久中文字幕无| 牛牛影视久久网| 欧美丰满高潮xxxx喷水动漫| 亚洲国产精品综合| 国产精品日韩欧美一区| 亚洲精品视频二区| 国产精品九九| 美脚丝袜一区二区三区在线观看| 亚洲一区国产视频| 一区二区欧美日韩| 国产日韩精品一区二区浪潮av| 欧美国产激情二区三区| 亚洲自拍啪啪| 亚洲欧美一级二级三级| 国产一区二区三区四区在线观看| 正在播放日韩| 亚洲精品极品| 欧美日韩国产在线一区| 国产亚洲一区二区精品| 欧美日韩美女一区二区| 欧美日韩亚洲另类| 欧美午夜电影在线观看| 蜜臀av国产精品久久久久| 久久婷婷丁香| 久久久久久电影| 精品二区久久| 国产精品毛片在线看| 欧美1区视频| 精品盗摄一区二区三区| 一区二区日韩伦理片| 牛夜精品久久久久久久99黑人| 国产一区二区欧美| 久久精品日产第一区二区三区| 欧美精品日韩一区| 在线视频中文亚洲| 久久久视频精品| 亚洲国产欧洲综合997久久| 久久偷窥视频| 国产精品九九| 久久激情一区| 欧美日产在线观看| 亚洲精品乱码| 久热精品在线视频| 国产欧美日韩另类视频免费观看| 国产精品99久久久久久宅男| 在线播放国产一区中文字幕剧情欧美| 樱花yy私人影院亚洲| 一本不卡影院| 欧美成人综合网站| 欧美亚一区二区| 久久久噜噜噜久久中文字幕色伊伊| 国产欧美婷婷中文| 国产区在线观看成人精品| 欧美专区日韩视频| 韩日精品在线| 夜夜躁日日躁狠狠久久88av| 久久精品中文字幕一区二区三区| 国产欧美韩国高清|