TWI360956B - Cabac decoding apparatus and decoding method there - Google Patents
Cabac decoding apparatus and decoding method there Download PDFInfo
- Publication number
- TWI360956B TWI360956B TW097125035A TW97125035A TWI360956B TW I360956 B TWI360956 B TW I360956B TW 097125035 A TW097125035 A TW 097125035A TW 97125035 A TW97125035 A TW 97125035A TW I360956 B TWI360956 B TW I360956B
- Authority
- TW
- Taiwan
- Prior art keywords
- module
- decoding
- content
- cabac
- initialization
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
1360956 t % 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種解碼裝置’特別是指一種内容可 適性二元算數編碼(Context-based Adaptive Binary Arithmetic Coding,以下簡稱CABAC )之解碼裝置及其解 碼方法。 【先前技術】 H.264/AVC是近年來所發展的一種視訊壓縮標準,其使 用了 一些進階的編碼技術,以提供比現有之視訊壓縮標準 (例如,MPEG-1、MPEG-2、H.263等)更優異之壓縮效能 〇 在H.264/AVC中,係採用内容可適性可變長度編碼( Context-based Adaptive Variable Length Coding,以下簡稱 CAVLC)技術或CABAC技術來進行熵(Entropy)編碼, 以提昇其編碼效率。其中,CAB AC技術比CAVLC技術高 出約10%之編碼效率,但其編碼/解碼之計算複雜度也相對 較高。在CABAC的解碼過程中,輸入之位元字串至少須需 要經過初始化步驟與算數解碼步驟,以完成解碼的程序; 而初始化步驟與算數解碼步驟所需之總體時間實際上相當 的長,對於解碼系統的效能上來說,仍有不少的影響。故 ,有必要尋求一解決之道,來降低CABAC解碼處理中之潛 時(Latency),以提高解碼系統的整體效能。 5 1360956 I » 【發明内容】 因此,本發明之目的之一,在於提供一種CABAC解碼 裝置與其解碼方法,以增加解碼系統整體的效能。 本發明之CABAC解碼裝置係包含一初始化模組、一儲 存模組、一算數解碼模組,及一更新模組。初始化模組用 於初始化複數個内容變數(context variable),且於巨集區 塊層級(Macroblock level)之位元字串就緒(bit stream代3办) 之刖,預先地初始化該些内容變數十至少一個。儲存模組 用於儲存該些内容變數。算數解碼模組用於根據該些内容 變數,以對一語法元素進行算數解碼,並輸出一解碼後之 语法π素與一更新訊號。更新模組用於根據該更新訊號更 新該儲存模組内之該些内容變數中至少一個 由於,初始化模組係預先地將該些内容變數計算出來 並儲存至該儲存模組中;因此,當位元字串就緒且欲進行 算數解碼時,算數解碼模組可直接地自儲存模組中取出對 應之内容變數,不需再等待所需内容變數之初始化,如此 一來,可降低CABAC解碼處理中之潛時,並增加解碼系統 整體的效能。 【實施方式】 有關本發明之前述及其他技術内容、特點與功效,在 以下配合參考圖式之一個較佳實施例的詳細說明中,將可 6 < S ) 清楚的呈現。 首先,請參閱圖1,圖1為本發明之CABAC解碼裝置 100之較佳實施例,CABAC解碼裝置100包含一初始化模 組41、一儲存模組42、一算數解碼模組43及一更新模組 44,其耦接關係如圖1所示。初始化模组41用於初始化複 數個内容變數。儲存模組42用於儲存該些内容變數。算數 解碼模組43用於根據儲存模組42中之内容變數,以對一 語法元素進行算數解碼(在本較佳實施例中,係進行二元 算數解碼),並輸出一解碼後之語法元素;例如,當 CABAC解碼裝置100需要解碼第一語法元素時,算數解碼 模組43則至儲存模組42讀取解碼第一語法元素所需之内 容變數,以對第一語法元素進行解碼,並輸出一更新訊號 至更新模組44。然後,更新模組44則依據更新訊號動態地 更新儲存模組42中之内容變數。另外,算數解碼模組43 可於巨集區塊層級(Macroblock level)之位元字串就緒(bit stream ready)之前,預先地初始化内容變數,如此一來,當 位元字串就緒且欲進行算數解碼時,算數解碼模組43可直 接地自儲存模組42中取出對應之内容變數,以減少 CABAC解碼處理中之潛時。 初始化模組41依據本發明之一實施例,係包含一查詢 單元45與一運算單元46,其中,查詢單元45可依據一索 引值(cabac_init_idc )查詢一預定之查詢表以得出一初始 序初始化内容變數(步驟51),並透㈣存模組42儲 容變數(” 52);接著,當位元字_騎錢進行算數 解碼時,算數解組43可直接地自儲存模組42中取出 欲解碼之語法元素所需之内容變數,以進行算數解碼(步 驟53),並輸出解碼後之語法元素(步驟54)與更新訊號 。取後’更㈣組44則依據更新訊號更新内容變數(步驟 55)〇 接著,請參_丨與圖3 ’圖3係繪示cabac解碼裝 置100的訊號時序圖,假設CABAC解碼裝置ι〇〇分別有第 -、第二與第三語法元素需進行算數解碼當位元字串就 緒之前’初始化模組41則㈣地進行初始化等動作,如圖 3a中初始化第一、第二與第三内容變數所示;接著,當位 凡字串就緒後,算數解碼模組43則可直接地進行算數解碼 等動作,如圖3a中對第第二與第三語法元素進行算數 解碼所示。如此一來’原本CABAC解碼過程所需花費之總 時間為(T1+T2),透過本發明的機制,使得在 =統整體的解碼過程中’只要先經過初使化步驟後,解碼 母-語法元素實質上只佔用了 T2的時間,可大幅的提升效 能。另外’請注意’初始化模組41並不限^於在位元字串 $緒之前’將所有的㈣變數都初始化完 亦可於位元 子串就緒之後’將未初始化的部分再進行初始化的動作, 如圖3b所示。由於本發明之CABAC解碼裝置1〇〇設置了 儲存模組42於初始化模組41與算數解碼模組43之間, 1360956 . 【主要元件符號說明】 100… …-CABAC解碼裝置 45••… •…查詢單元 41 ·.··· …·初始化模組 46···.· •…運算單元 42"… •…儲存模組 51-55 …·步驟 43•…· •…算數解碼模組 Τι 〜丁3 ----時間 44···.. •…更新模組
Claims (1)
1360956 十、申請專利範圍: 1' 種内容可適性二元算數編瑪(Context-based Adaptive Binary Arithmetic Coding ,CABAC)之解碼裝置包含: 一初始化模組’用以初始化複數個内容變數; 一儲存模組,耦接至該初始化模組,用以儲存該些内容變 數; : 一算數解碼模組,耦接至該儲存模組,用以根據該些内容 變數,以對一語法元素進行算數解碼,並輸出一解 • 碼後之語法元素與一更新訊號;以及 一更新模組,耦接於該算數解碼模組,用以根據該更新訊 號更新該儲存模組内之該些内容變數中至少一個; 其中,该初始化模組係於一位元字串就緒(bh价以爪 ready )之刖,預先地初始化該些内容變數中至少一 個。 2. 如申請專利範圍第i項所述之解碼袭置其中該初始化 零 模組,包含: 查"句單元,用以依據一索引值查詢一預定之查詢表, 以輸出一初始參數組;以及 一運算單元,耦接至該查詢單元,用以對該初始參數組 與一片量化參數進行運算,以輸出該内容變數。 12
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/106,075 US7557740B1 (en) | 2008-04-18 | 2008-04-18 | Context-based adaptive binary arithmetic coding (CABAC) decoding apparatus and decoding method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200945798A TW200945798A (en) | 2009-11-01 |
TWI360956B true TWI360956B (en) | 2012-03-21 |
Family
ID=40811030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097125035A TWI360956B (en) | 2008-04-18 | 2008-07-03 | Cabac decoding apparatus and decoding method there |
Country Status (3)
Country | Link |
---|---|
US (1) | US7557740B1 (zh) |
CN (1) | CN101562455B (zh) |
TW (1) | TWI360956B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100040136A1 (en) * | 2008-08-13 | 2010-02-18 | Horizon Semiconductors Ltd. | Method for performing binarization using a lookup table |
TWI396450B (zh) * | 2010-03-11 | 2013-05-11 | Himax Media Solutions Inc | 高運算頻率的二進制運算解碼裝置 |
US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
TWI487295B (zh) * | 2011-05-17 | 2015-06-01 | Univ Nat Cheng Kung | 高產出平行化avc/h.264前後文適應性二位元算數解碼器之方法 |
US9338465B2 (en) * | 2011-06-30 | 2016-05-10 | Sharp Kabushiki Kaisha | Context initialization based on decoder picture buffer |
US11647197B2 (en) | 2011-06-30 | 2023-05-09 | Velos Media, Llc | Context initialization based on slice header flag and slice type |
US20130003823A1 (en) * | 2011-07-01 | 2013-01-03 | Kiran Misra | System for initializing an arithmetic coder |
US20130003829A1 (en) * | 2011-07-01 | 2013-01-03 | Kiran Misra | System for initializing an arithmetic coder |
US9484952B2 (en) | 2011-11-03 | 2016-11-01 | Qualcomm Incorporated | Context state and probability initialization for context adaptive entropy coding |
GB2496193A (en) * | 2011-11-07 | 2013-05-08 | Sony Corp | Context adaptive data encoding and decoding |
US9288508B2 (en) * | 2011-11-08 | 2016-03-15 | Qualcomm Incorporated | Context reduction for context adaptive binary arithmetic coding |
WO2013106987A1 (en) * | 2012-01-16 | 2013-07-25 | Mediatek Singapore Pte. Ltd. | Methods and apparatuses of bypass coding and reducing contexts for some syntax elements |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
US6804301B2 (en) * | 2001-08-15 | 2004-10-12 | General Instrument Corporation | First pass encoding of I and P-frame complexity for compressed digital video |
ES2724399T3 (es) * | 2002-03-27 | 2019-09-10 | Panasonic Ip Corp America | Procedimiento y dispositivo de codificación de longitud variable |
KR100648258B1 (ko) * | 2004-08-02 | 2006-11-23 | 삼성전자주식회사 | 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더 |
CN100466739C (zh) * | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
KR100717052B1 (ko) * | 2005-11-08 | 2007-05-10 | 삼성전자주식회사 | Cabac 복호기에서 이진 산술 복호화와 이진 매칭을병렬 처리하는 원소 구문의 복호화 방법 및 이를 위한복호화 장치 |
US7245242B2 (en) * | 2005-11-28 | 2007-07-17 | Conexant Systems, Inc. | Decoding systems and methods |
US7262722B1 (en) * | 2006-06-26 | 2007-08-28 | Intel Corporation | Hardware-based CABAC decoder with parallel binary arithmetic decoding |
-
2008
- 2008-04-18 US US12/106,075 patent/US7557740B1/en active Active
- 2008-07-03 TW TW097125035A patent/TWI360956B/zh active
-
2009
- 2009-02-13 CN CN2009100067034A patent/CN101562455B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TW200945798A (en) | 2009-11-01 |
CN101562455B (zh) | 2013-08-14 |
US7557740B1 (en) | 2009-07-07 |
CN101562455A (zh) | 2009-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI360956B (en) | Cabac decoding apparatus and decoding method there | |
JP4139330B2 (ja) | 改良された可変長デコーダ | |
US7443318B2 (en) | High speed context memory implementation for H.264 | |
US6587057B2 (en) | High performance memory efficient variable-length coding decoder | |
US7286066B1 (en) | Acceleration of bitstream decoding | |
TWI587640B (zh) | 用於音訊/視訊樣本向量之錐型向量量化檢索/解檢索之方法及裝置 | |
US8593307B2 (en) | Methods of compressing data in storage device | |
KR101240058B1 (ko) | 디코딩 시스템 및 방법 | |
KR101118089B1 (ko) | 가변장 복호화 장치 및 방법 | |
US9001882B2 (en) | System for entropy decoding of H.264 video for real time HDTV applications | |
TW200952498A (en) | CABAC decoding unit and decoding method | |
US20110310966A1 (en) | Syntax element decoding | |
TWI314820B (en) | Pattern-search based method for context-adaptive variable length coding/decoding | |
US11431978B2 (en) | Video decoding method and video decoding device for improving decoding efficiency | |
US20110125987A1 (en) | Dedicated Arithmetic Decoding Instruction | |
WO2014154074A1 (zh) | 一种深度信息编解码方法、装置及视频处理播放设备 | |
CN115334313A (zh) | 一种视频解码方法、装置、设备及存储介质 | |
US20120183234A1 (en) | Methods for parallelizing fixed-length bitstream codecs | |
KR100944923B1 (ko) | 개선된 멀티미디어 디코더를 위한 방법 및 장치 | |
US9973209B2 (en) | Processor and data processing method thereof | |
CN101188753B (zh) | 一种视频熵解码查找表的构造方法及视频熵解码方法 | |
KR100982666B1 (ko) | 컨텍스트 기반 적응적 가변길이 코딩의 디코딩 장치 및 디코딩을 위한 테이블 탐색 방법 | |
US20150349796A1 (en) | Dedicated arithmetic encoding instruction | |
KR100686354B1 (ko) | 가변 트리를 이용한 허프만 복호화 방법 및 장치 | |
Ahangar et al. | Real time low complexity VLSI decoder for prefix coded images |