CN102256121B - 背景调适性二进制运算解码装置及其解码方法 - Google Patents
背景调适性二进制运算解码装置及其解码方法 Download PDFInfo
- Publication number
- CN102256121B CN102256121B CN201010184238.6A CN201010184238A CN102256121B CN 102256121 B CN102256121 B CN 102256121B CN 201010184238 A CN201010184238 A CN 201010184238A CN 102256121 B CN102256121 B CN 102256121B
- Authority
- CN
- China
- Prior art keywords
- background
- symbol
- decoding
- arithmetic operation
- binary arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种背景调适性二进制运算解码装置及其解码方法,其中该装置包括:背景内存地址计算器,用于计算下个周期所需的背景模型在背景模型内存中的储存地址;混合式背景内存,用于读取并储存该背景内存地址计算器的背景模型;双符号背景调适性二进制运算解码器,用于根据该混合式背景内存的背景模型输出多个用于更新该背景模型的范围与偏移量的参数,并确定多个符号,以及二进制语法元素比较器,用于根据所述符号判断目前二进制序列是否符合语法元素的数值,从而选出正确的内存地址。
Description
技术领域
本发明涉及一种背景调适性二进制运算解码装置及其解码方法,特别地涉及于一种用于提高视频解码效率以及降低硬件成本的背景调适性二进制运算解码装置及其解码方法。
背景技术
Yongseok Yi等人于2007年4月在IEEE Transactions onCircuits and Systems for Video Technology中公开了“High-SpeedH.264/AVC CABAC Decoding”(下文称文献1),该文献中的技术通过管线化的方式来提升解码速度,然而在解码过程中,背景模型的选择须由最新解码出的符号值来确定。为解决此问题,解码器需闲置两个周期,等待前一个符号被解码出来后才能够再进行下一个符号的解码程序。因此文献1的解码器速度仅可达到平均每周期0.25个符号。
Pin-Chin Lin等人于2009年5月在Proceedings of IEEE InternationalSymposium on Circuits and Systems公开了“A Branch Selection Multi-symbolHigh Throughput CABAC Decoder Architecture for H.264/AVC”(下文称文献2),其解决解码过程中数据依赖性以及内存存取冲突的问题。文献2将所有背景模型均储存在缓存器中,然而因为用来储存背景模型的缓存器需要很大的存储量并占用很大的面积,因此需要付出大量的硬件成本。
此外,在2008年10月9日所公开的美国专利第11/863973号中,在遇到特定的语法元素时才能在一个周期中解码出两个符号,在其余的情况下,一个周期仅能解码出一个语法元素。因此解码器的速度仅可达到平均每个周期0.80个符号。
针对上述公知技术中存在的缺点,本发明提供一种背景调适性二进制运算解码装置及其解码方法,其在考虑硬件成本的前提下,能够提高背景调适性二进制运算解码器的解码速度并能够满足高画质HD影片的实时解码需要。
发明内容
本发明的一个主要目的是在背景调适性二进制运算解码过程中,利用背景模型使用的规律性,有效地减少背景调适性二进制运算解码器的代码成本需求并提高解码速度,以满足高画质HD影片实时解码的需要。
本发明的另一目的是提供一种背景调适性二进制运算解码装置,其包含:背景内存地址计算器,用于计算下一个周期所需的背景模型在背景模型内存中的储存地址;混合式背景内存,用于读取并储存所述背景内存地址计算器的背景模型;双符号背景调适性二进制运算解码器,用于根据所述混合式背景内存的背景模型确定一个第一符号(bin)与一个第二符号,以及输出多个用于更新所述背景模型的范围与偏移量的参数;以及二进制语法元素比较器,用于根据所述符号参数判断当前二进制序列是否符合语法元素的数值。
本发明的再一目的是提供一种利用上述背景调适性二进制运算解码装置的解码方法,其包含:将所述二个符号参数的解码限制在单一语法元素中,使得所有语法元素的第一个符号(bin)的索引为偶数且第二个符号的索引为奇数;将一含有解码过程常出现标记类型的语法元素的剩余值地图(significance map)中的所有符号合并成一新的单一语法元素,以便取得符号(bin)的下二个索引;以及根据语法元素类型以及该符号的下二个索引,从所述混合式背景内存选取多背景模式,以及将所选取的背景模式输出到所述双符号背景调适性二进制运算解码器以确定一个第一符号以及一个第二符号。
如上述背景调适性二进制运算解码装置及其解码方法,其中对于每组背景模式来说,若该组背景模式中的其中二个背景模式不必同时加载所述双符号背景调适性二进制运算解码器,则可将此组背景模式储存在该静态随机存取内存中(因为SRAM一个周期只能读取出一个背景模式(CM));否则,则将其储存在该缓存器中。
本发明具有下列技术特点及功效:
1.在双符号平行解码的架构下,通过将双符号解码限制在单一语法元素中以及将不同的语法元素进行合并,使得同一个周期所解码出来的符号属于同一个语法元素,并且背景模型的选取程序将变得简易且具有规则性。此外,背景模型内存可因此以不同属性的内存的组合来实现。而通过混合式背景模型内存的使用将可大幅降低硬件成本。
2.与文献1相比较,本发明通过提前计算出所有可能被使用到的背景模型,不仅可解决数据依赖性(data dependency)的问题,而且每个周期最多可同时解码出两个符号。
3.与文献1和文献3相比较,本发明的解码器速度可达到平均每周期1.83个符号。
4.与文献2所揭露的完全以缓存器来构成背景模型内存相比较,本发明所利用的混合式背景模型内存可大幅降低硬件成本。
5.对于双符号二进制运算解码的运算部分,本发明提出一个有效的转换方法来解决公知技术临界路径延迟(critical path delay)的问题。
附图说明
为使本发明的上述和其它目的、特征及优点能更明显易懂,下面特举优选实施例,并配合附图,作详细说明。
图1为本发明的背景调适性二进制运算解码装置的架构示意图。
图2为本发明的双符号二进制运算解码(TSBAD)单元的方块图。
图3为本发明的双符号二进制运算解码(TSBAD)的转换方法示意图。
具体实施方式
本发明的应用不局限于下列叙述、图式或所举例说明的构造和配置等细节所作的说明。本发明更具有其它实施例,且可以各种不同的方式予以实施或进行。此外,本发明所使用的措辞及术语均仅用来说明本发明的目的,而不应视为对本发明的限制。
参照图1,其为本发明背景调适性二进制运算解码装置的架构示意图。该背景调适性二进制运算解码装置主要由针对下一个语法元素的背景选取单元10、针对当前前语法元素的背景选取单元12、背景模式内存(静态随机存取内存(SRAM))13、背景模式内存(缓存器)14、双符号二进制运算解码单元15以及二进制匹配单元16所构成。此外,可将该背景调适性二进制运算解码装置的操作模式分成背景模式选取阶段(MCS)以及双符号二进制运算解码(TSBAD)阶段来说明,其中该背景模式选取阶段包含使用该背景选取(CS)单元10、12以及一背景模式负载(CL)阶段;该双符号二进制运算解码阶段包括使用一双符号解码引擎(双符号二进制运算解码单元)以及一背景模式更新(CU)阶段。
如图1所示,该背景模式选取阶段主要为选取用于解码下二个符号(bins)的背景模式(CM)。为了简化及规则化该背景模式选取阶段(MCS),本发明将双符号解码限制在单一语法元素中,使得所有语法元素(Syntax Elements)的第一个符号(bin)的索引(binIdx)为偶数且第二个符号的索引为奇数。因此,对于下二个符号的背景模式的配置为有规则的,并且也使得背景模式地址的计算变得更简单。
为了避免因解码时大量标记类型(flag-type)的语法元素(其仅具有单一符号)所造成的可实施性降低,因此本发明将以解码过程中最常出现的标记类型语法元素所组成的剩余值地图(significancemap)的所有符号合并成单一语法元素。对于连续两个符号(bin)来说,在第一个符号的索引为确定的情况下,第二个符号的索引只会有两种可能,这代表也只有两种可能的背景模式。因此,在本实施例中,在MC S阶段只须准备3个所有可能会被用到的背景模式就可以解决数据依赖性(data dependency)的问题。
在进行语法元素的合并后,剩余值地图的符号索引(binIdx)变化及其特性将由下列表1所示,其中binIdx代表符号的索引;i代表扫描位置;SIG代表有效系数标记(significant_coeff_flag);以及LAST代表最后有效系数标记(last_significant_coeff_flag)。
表1(剩余值地图特性表)
当前标记(flag) | 符号值 | 下个标记 | 下个binIdx |
SIG[i] | 0 | SIG[i+1] | binIdx+2 |
SIG[i] | 1 | LAST[i] | binIdx+1 |
LAST[i] | 0 | SIG[i+1] | binIdx+1 |
LAST[i] | 1 | X | X |
从表1中可很明显地发现,当目前的语法元素为significant_coeff_flag且其符号值为0时,则下个binIdx等于binIdx+2。因此,CM选取及配置可仅取决于binIdx+2。也就是,只要提前计算出下一个周期可能会用到的3个背景模型,则下两个符号就可以在同一个周期内被计算出来并且可避免任何的管线延迟。
针对二个连续符号来说,语法元素中第二个符号的位置可为binIdx+1或者binIdx+2,其代表通过给定二个CMs,则可根据其实际binIdx所选择的CM来解码该第二个符号。因此,本发明应用二个背景选取(CS)单元10、12来同时计算地址,其中一个背景选取单元12用于目前语法元素,以及另一个背景选取单元10用于下一个语法元素,而将在稍后作说明的二进制匹配单元(Binarization Matching,BM)16的输出结果将确定该等背景选取单元中哪个背景选取单元被选择用于操作于一背景模式负载(CL)阶段,如图1所示。
此外,由于若以缓存器来当内存,则硬件成本太高,并且单一双埠SRAM也无法符合装载三个CM且在同个周期执行庞大运算的需要。因此,为了进一步降低硬件成本,必须考虑该CM的配置。
在本发明的优选实施例中,提供一种在考虑硬件成本同时又具有解码效率的前提下来配置该CM内存的方法。因为双符号解码被限制在单一语法元素中,所以可从不同来源来装载CMs并根据语法元素类型以及下二个符号的binIdx来将其指定至将在稍后说明的双符号二进制运算解码(TSBAD)阶段。在本实施例中,通过下列方式来重组CMs。
对于每组CM来说,若每组的其中二个CMs不须同时载入TSBAD,则可将此组CM储存在SRAM中;否则,则将其储存在缓存器中。例如,使用三个CMs来解码标记tansform_size_8×8_flag,由于该标记tansform_size_8×8_flag只有一个符号(bin)并且没有用到第二符号解码程序,因此一次只需载入一个CM,所以便可将此CM则依上述原则储存于SRAM中。在上述配置下,比起全部使用缓存器的架构来说,本发明可大幅降低内存的面积。
背景模式(CM)内存的组织可参照下列表2及表3所示。
表2(SRAM的内容)
地址 | CM索引 | 语法元素 |
0-2 | 0-2 | mb_type(SI) |
3-5 | 11-13 | mb_skip_flag(P/SP) |
6-8 | 24-26 | mb_skip_flag(B) |
9-11 | 70-72 | mb_field_decoding_flag |
12-31 | 85-104 | coded_block_flag |
32-171 | 166-226,338-398,417-425,451-459 | last_significant_coeff_flag |
172-201 | 227-231,237-241,247-251,257-261,266-270,426-430 | coeff_abs_level_minus1(第一个符号) |
202-204 | 399-401 | transform_size_8×8_flag |
表3(缓存器的内容)
地址 | CM索引 | 语法元素 |
0-7 | 3-10 | mb_type(I) |
8-14 | 14-20 | mb_type(P/SP) |
15-17 | 21-23 | sub_mb_type(P/SP) |
18-26 | 27-35 | mb_type(B) |
27-30 | 36-39 | sub_mb_type(B) |
31-44 | 40-53 | Mvd |
45-50 | 54-59 | ref_idx |
51-54 | 60-63 | mb_qp_delta |
55-58 | 64-67 | intra_chroma_pred_mode |
59 | 68 | prev_intra_pred_mode_flag |
60 | 69 | rem_intra_pred_mode |
61-72 | 73-84 | coded_block_pattern |
73-224 | 105-165,277-337,402-416,436-450 | significant_coeff_flag |
225-253 | 232-236,242-246,252-256,262-265,271-275,431-435 | coeff_abs_level_minus1(排除第一个符号) |
在取得内存地址后,可同时自SRAM 13取得一个CM以及自缓存器14取得二个CMs。因此相比于全部使用缓存器的例子来说,本发明通过混合式CM内存不仅可避免数据因CM读取及写入所造成的风险,而且也可明显降低硬件成本。
接下来参照图2,其为本发明于双符号二进制运算解码(TSBAD)单元的方块图,其中该双符号二进制运算解码(TSBAD)单元系主要由多个最大可能符号(MPB)解码单元(151,154,156)、多个最小可能符号(LPB)解码单元(152,155,157)、一第一符号确定单元153以及一第二符号确定单元158所构成。
如图2所示,经选出的背景模式会传到双符号二进制运算解码阶段来进行符号值的计算,同时在这个阶段会进行二进制匹配(binary matching)以及背景模式的更新。如图所示,该双符号二进制运算解码(TSBAD)单元取得且输出二个用于解码下一个符号(binVal1及binVal2)的参数,其中所述二个参数中的一个为关于更新范围的参数(updated range),以及另一个为关于更新偏移量的参数(updated offset)。上述符号值主要是根据offsetLPB的正负来做判断,由于rangeLPB需要经过查表才可得知,因此本发明可通过重新排列标准(standard)制定的流程(如图3左边图式)来加速硬件的计算,其中偏移量(O)及范围(R)通过下式表示:
OLPS=O-RMPS=O-(R-RLPS)=(O-R)+RLPS。
此外,将上述思路延伸到第二个符号的解码上,当之前的符号(bin)为MPB时:
O′LPS=(OMPS-RMPS)+R′LPS=(O-RMPS)+R′LPS=OLPS+R′LPS
或者当之前的符号为LPB时:
O′LPS=(OLPS-RLPS)+R′LPS=(O-R+RLPS-RLPS)+R′LPS=(O-R)+R′LPS
经过整理后可发现,OLPB跟(O-R)都是在第一个符号就已经计算好的结果,如图3右边图式所示。因此,本发明所提出的转换方式可并行计算所有可能的解码路径,然后再通过该符号确定单元(153、158)选出正确的结果,故可有效减少临界路径延迟(criticalpath delay),其与传统直接串接两个BADs(二进制运算解码)的计算时间(约3.14ns)相比较,本发明(约2.26ns)可以解省约28%的计算时间。
关于本发明在不同视频序列下的解码速度以及与公知技术(文献2)的效率比较分析结果可分别参照下列表4及表5。
表4(解码效率)
视频序列 | QP | 位率(Mbps) | 解码产率(bin/s) | 速度(bin/周期) |
车站2(Station2) | 18 | 48.22 | 69901150 | 1.82 |
步行区域(Pedestrian_area) | 18 | 45.54 | 63493978 | 1.81 |
牵引机(Tractor) | 18 | 74.47 | 99586800 | 1.83 |
河床(Riverbed) | 12 | 164.0 | 220666642 | 1.85 |
向日葵(Sunflower) | 12 | 87.84 | 116566675 | 1.83 |
尖峰时间(Rush_hour) | 12 | 107.65 | 147268586 | 1.86 |
平均 | 1.83 |
表5(比较不同设计的实施结果)
规格 | 本发明 | 文献2 |
技术 | UMC 90nm | UMC 90nm |
最大频率 | 264MHz | 222MHz |
闸极数 | 42372 | 82445 |
平均数(每周期之符号数) | 1.83 | 1.96 |
解码产率(每秒百万个符号数) | 483.1 | 435.1 |
由上列表4及表5可知,本发明与公知技术相比较,不仅能够达到更高的解码速率(每秒483.1百万个符号数,其为最大频率与平均速度的乘积),而且更可省下48.6%[(82445-42372)/82445]的硬件(闸极数)成本。
以上所述仅为本发明的优选实施例,但本发明的实施范围并非局限于此。因此在不脱离本发明的原理及精神下,所属技术领域技术人员根据本发明权利要求范围及发明说明书内容所作的修饰与变化,都属于本发明专利所涵盖的范围。
Claims (7)
1.一种背景调适性二进制运算解码装置,该装置包括:
背景内存地址计算器,用于计算下个周期所需的背景模型在背景模型内存中的储存地址;
混合式背景内存,用于读取并储存该背景内存地址计算器的背景模型;
双符号背景调适性二进制运算解码器,用于根据该混合式背景内存的背景模型输出多个用于更新该背景模型的范围与偏移量的参数,并确定多个符号,以及
二进制语法元素比较器,用于根据所述符号判断目前二进制序列是否符合语法元素的数值,从而选出正确的内存地址。
2.如权利要求1所述的背景调适性二进制运算解码装置,其中所述背景内存地址计算器包括一第一背景模型选择器,用于计算下一个周期当前语法元素所需的背景模型地址;以及一第二背景模型选择器,用于计算下一个周期的下一个语法元素所需的背景模型地址。
3.如权利要求1所述的背景调适性二进制运算解码装置,其中所述混合式背景内存包括一静态随机存取内存,用于读取一个第一背景模型,以及一缓存器,用于读取两个第二背景模型。
4.如权利要求3所述的背景调适性二进制运算解码装置,其中如果该第一背景模型和这些第二背景模型中的两个背景模型不需要同时加载该双符号背景调适性二进制运算解码器,则可将该第一背景模型和这些第二背景模型储存在所述静态随机存取内存中,否则,则将其储存在所述缓存器中。
5.如权利要求1所述的背景调适性二进制运算解码装置,其中所述双符号背景调适性二进制运算解码器包括:多个最大可能符号(MPB)解码单元、多个最小可能符号(LPB)解码单元、一第一符号确定单元以及一第二符号确定单元。
6.一种利用如权利要求1至5项中任一项所述的背景调适性二进制运算解码装置的解码方法,其中该解码方法包括下列步骤:
将两个符号参数的解码限制在单一语法元素中,使得所有语法元素的第一个符号的索引为偶数且第二个符号的索引为奇数;
将一由标记类型语法元素所组成的剩余值地图中的所有符号合并成一新的单一语法元素,以便取得该第一个符号或该第二个符号的下两个索引;以及
根据语法元素类型以及该第一个符号或该第二个符号的下两个索引,从所述混合式背景内存选取多背景模型,以及将所选取的背景模型输出至所述双符号背景调适性二进制运算解码器以确定一第一符号以及一第二符号。
7.如权利要求6所述的解码方法,其中同一个周期所解码出来的符号属于同一个语法元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010184238.6A CN102256121B (zh) | 2010-05-21 | 2010-05-21 | 背景调适性二进制运算解码装置及其解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010184238.6A CN102256121B (zh) | 2010-05-21 | 2010-05-21 | 背景调适性二进制运算解码装置及其解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102256121A CN102256121A (zh) | 2011-11-23 |
CN102256121B true CN102256121B (zh) | 2014-07-09 |
Family
ID=44983070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010184238.6A Expired - Fee Related CN102256121B (zh) | 2010-05-21 | 2010-05-21 | 背景调适性二进制运算解码装置及其解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102256121B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101638720B1 (ko) * | 2012-05-29 | 2016-07-20 | 미디어텍 인크. | 샘플 어댑티브 오프셋 정보를 부호화하는 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909660A (zh) * | 2005-08-05 | 2007-02-07 | 上海富瀚微电子有限公司 | 基于上下文自适应二进制算术解码器 |
CN101252685A (zh) * | 2008-02-22 | 2008-08-27 | 华为技术有限公司 | 解码方法及装置 |
CN101600104A (zh) * | 2008-06-02 | 2009-12-09 | 联发科技股份有限公司 | 上下文自适应二进制算术编码的解码单元及解码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126051B2 (en) * | 2003-05-06 | 2012-02-28 | Trident Microsystems (Far East) Ltd. | Video encoding and decoding methods and corresponding encoding and decoding devices |
-
2010
- 2010-05-21 CN CN201010184238.6A patent/CN102256121B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909660A (zh) * | 2005-08-05 | 2007-02-07 | 上海富瀚微电子有限公司 | 基于上下文自适应二进制算术解码器 |
CN101252685A (zh) * | 2008-02-22 | 2008-08-27 | 华为技术有限公司 | 解码方法及装置 |
CN101600104A (zh) * | 2008-06-02 | 2009-12-09 | 联发科技股份有限公司 | 上下文自适应二进制算术编码的解码单元及解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102256121A (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033728B (zh) | 图形处理系统 | |
CN111434112B (zh) | 全局匹配patch的获取方法及装置 | |
CN101951516B (zh) | 基于h.264/avc中cabac的并行编码实现电路及编码方法 | |
US7039241B1 (en) | Method and apparatus for compression and decompression of color data | |
CN105681807A (zh) | 一种基于h264协议的分像素运动矢量计算方法和装置 | |
CN106030652B (zh) | 提供输出面的方法、系统和合成显示控制器及计算机介质 | |
CN104023235A (zh) | 图像编码中的索引颜色历史 | |
US20120293343A1 (en) | Method for high throughput parallel avc/h.264 context-based adaptive binary arithmetic coding decoder | |
CN102176750B (zh) | 高性能自适应二进制算术编码器 | |
US20090237406A1 (en) | Character rendering system | |
CN110519603B (zh) | 一种实时视频缩放的硬件电路及其缩放方法 | |
CN104952088A (zh) | 一种对显示数据进行压缩和解压缩的方法 | |
CN101547368A (zh) | 一种图像中参考帧的处理装置、方法以及解码器 | |
US20070092008A1 (en) | Context-aware frame memory scheme for motion compensation in video decoding | |
CN102256121B (zh) | 背景调适性二进制运算解码装置及其解码方法 | |
CN101087410A (zh) | 算术编码电路和算术编码控制方法 | |
CN102650969B (zh) | 一种获取、更新bin的上下文概率模型值的方法及装置 | |
DE102011100936A1 (de) | Techniken zum Speichern und Abrufen von Pixeldaten | |
CN102724505A (zh) | Jpeg_ls游程编码fpga实现方法 | |
US6205255B1 (en) | Method and apparatus for run-length encoding of multi-colored images | |
CN1926885A (zh) | 视频处理电路和视频处理方法 | |
CN100370835C (zh) | 用于视频数据压缩的系统和方法 | |
CN103034455B (zh) | 基于预先解码分析的数据信息缓存管理方法及系统 | |
CN105578194A (zh) | Jpeg图像解码方法和解码器 | |
CN109213973A (zh) | Vin码转码存储方法及装置和对应的读取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140709 Termination date: 20200521 |
|
CF01 | Termination of patent right due to non-payment of annual fee |