CN101212676B - 高效并行cabac解码方法及其装置 - Google Patents

高效并行cabac解码方法及其装置 Download PDF

Info

Publication number
CN101212676B
CN101212676B CN 200610167355 CN200610167355A CN101212676B CN 101212676 B CN101212676 B CN 101212676B CN 200610167355 CN200610167355 CN 200610167355 CN 200610167355 A CN200610167355 A CN 200610167355A CN 101212676 B CN101212676 B CN 101212676B
Authority
CN
China
Prior art keywords
decoding
probability
bit
parallel
output
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.)
Active
Application number
CN 200610167355
Other languages
English (en)
Other versions
CN101212676A (zh
Inventor
张鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ziguang Zhanrui Communication Technology Co Ltd
Original Assignee
Beijing Spreadtrum Hi Tech Communications Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Spreadtrum Hi Tech Communications Technology Co Ltd filed Critical Beijing Spreadtrum Hi Tech Communications Technology Co Ltd
Priority to CN 200610167355 priority Critical patent/CN101212676B/zh
Publication of CN101212676A publication Critical patent/CN101212676A/zh
Application granted granted Critical
Publication of CN101212676B publication Critical patent/CN101212676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种高效并行CABAC(基于上下文的自适应二进制算术编码)解码方法及其装置。本方法和装置专门用于新一代视频编码标准H.264的VLSI(超大规模集成电路)实现,并针对其主级别中规定的CABAC解码过程。本发明包括变长算术解码方法,以及与之相对应的并行二进制算术解码装置,和并行概率生成及更新装置。本解码装置可以保证在最坏情况下的高清晰度(1080i制式30Mbps)视频图像的实时解码。

Description

高效并行CABAC解码方法及其装置
技术领域
本发明涉及一种数字视频解码中自适应算术编解码方法及装置,尤其涉及一种视频解码芯片中并行的二进制算术解码方法及其装置。
背景技术
H.264是国际电联(ITU)和国际标准化组织(ISO)联合制定的新一代视频编码标准。基于上下文的自适应二进制算术编码作为一项核心技术被H.264所采纳,但基于上下文的自适应二进制算术编码在大幅度提高编码效率的同时,也带来了极高的计算复杂度。
算术编码是基于区间划分的一种高效数字编码方式,其广泛用于数字图像,数字视频等数据压缩领域。通常情况下,其数据压缩能力明显优于哈夫曼编码,指数哥伦布编码等其他变长编码方式。基于上下文的自适应二进制算术编码是二进制算术编码的一种改进。其编解码过程简述如下:
视频编码码流中包含各种语法元素,比如宏块类型,编码系数等。编码过程中,语法元素的值由一个二进制比特串来表示,该串的每一个比特被送入二进制算术编码器进行独立编码。编码器为不同的语法元素的不同的比特位置定义了不同的概率模型,该模型是基于上下文的,故也成为上下文模型。上下文模型用来预测不同的语法元素中不同位置的比特在不同的上下文条件下等于1或者0的概率。模型存储在RAM(随机访问存储器)中,其每一项由大概率值(即0和1中概率较大的那个值)和大概率值发生的概率(以后简称概率)构成。算术编码器记录一个包含于(0,1)内的区间,每编码一个二进制比特,算术编码器区间根据该比特的概率划分成两个子区间,大概率区间和小概率区间。如果待编码的比特和大概率值相同,则算术编码器区间更新成大概率区间,否则更新成小概率区间。每当区间长度小于0.5时,输出一个编码比特流。
解码器同样拥有一个相同上下文模型存储器,和一个区间。解码过程正好相反,根据当前比特的概率将区间划分成大概率区间和小概率区间,并由一个偏移来决定当前的实际解码比特是0还是1。这个偏移由输入比特流决定。
基于上下文的自适应二进制算术解码过程中的条件判断极多,数据流及复杂,而且相关性极大。例如,各语法元素码字长度不定,甚至不是整数;不解码当前输出比特值,就无法确定当前语法元素解码是否结束,于是也就无法确定下一个比特解码所需要的概率模型,进而无法进行直接意义上的并行解码;同时下一个比特解码所需要的实际区间和实际偏移也必须等待前一个比特解码完成才能完全确定。
基于上述原因,除本发明以外,目前现有的基于上下文的自适应二进制算术解码器,最多均只能实时处理标准清晰度的视频码流。它们大多都是基于串行的比特处理,或者并行度不高。
发明内容
本发明克服了现有技术中的缺点,提供了一种高效并行二进制算术解码方法及其装置,以达到实时处理高清图像的要求。
本发明包括变长算术解码方法,以及与之相对应的并行二进制算术解码装置,和并行概率生成及更新装置。高速二进制算术解码的关键问题在于开发算术解码过程中的并行性,而二进制算术解码又具有高度的串行性,如何在一次算术解码过程中并行解出多个输出比特是提高二进制算术编码的关键。
并行计算需要打破算术解码过程中的那些紧密的数据相关。本发明的基本思想在于对未完全解码的输出比特进行预测,其预测值即为该输出比特的大概率值。通过预测,多个输出比特的解码过程可以基于预测的结果进行并行计算,从而计算出在输出均为大概率值的情况下,各输出比特的上下文概率,和算术解码器状态。在最后,通过并行输出的各比特的比特值是否真正与大概率值相等来决定原先的大概率预测是否正确。对于错误预测的比特及该比特之后的比特,我们将它们标记为无效输出比特,不计算进概率模型的更新和语法元素切换。
多个比特的并行解码需要多个概率和大概率值,需要多个算术解码器状态(包括范围和偏移)。多个比特需要的概率和大概率值的确定,不通过这些比特的实际解码,而是假设解码结果都是大概率值的情况进行。多个算术解码器状态的更新,也不需要这些比特的实际解码,而是假设解码结果都是大概率值的情况进行。解码之后,根据比特输出结果的有效标记,确定哪些比特的输出结果对上下文概率模型进行更新,概率更新的过程也是各有效输出比特并行进行。
并行解码需要同时获得多个概率和大概率值,这对上下文RAM的带宽提出了太高要求。为了缓解这种带宽拥塞,本发明采用局部上下文寄存器。局部上下文寄存器将解码一个图像块需要用到的上下文模型暂时寄存在各语法元素解码模块内部。从而大大降低了RAM拥塞,同时提高了***的解码速度。
本发明具有明显的优点和积极效果。本发明针对二进制算术解码中对计算速度的要求,提出高效的并行二进制算术解码的方法和装置。该装置能实现在任何码流输入的情况下,保证高清图像的实时解码。
附图说明
图1是本发明实施例中***结构图;
图2是本发明实施例中非零系数位置概率模块图;
图3是本发明实施例中并行算术解码模块图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1描述了一个并行算术解码***的整体结构。如图,***分为头信息解码和数据信息解码,其中数据信息解码模块包括图中所示的四个局部上下文寄存器模快,帧内预测模式概率模快,运动向量概率模快,非零系数位置概率模快和非零系数概率模快,以及多比特算术解码模块。头信息解码和数据信息解码共用一套上下文RAM。头信息解码模块采用串行二进制解码方法对头信息进行二进制解码,数据信息解码采用并行二进制多比特解码方式进行。
在头信息普通解码过程中,头信息解码模块从比特缓冲中读出输入比特流,根据当前头信息语法元素的类型和上下文情况确定该输出比特对应的概率和大概率值,进行二进制解码,更新算术解码器的范围和偏移,并输出一个比特。头信息解码器同时需要针对解码比特的结果,对当前语法元素类型进行更新,以便决定是继续头信息下一个语法元素解码,还是转入数据解码过程。
当进入数据解码过程时,头信息解码模块被暂停,多比特算术解码模块启动。进行一次多比特算术解码需要一次生成多个概率和大概率值。为了支持旁路解码(等概率算术解码),多比特算数解码接受旁路标记来指示某一解码比特是否是等概率解码。结束标记指示多比特算数解码器该比特是当前语法元素的最后一个输出比特,以后的输出比特均为无效。概率,大概率值,旁路标记和结束标记一起构成局部概率总线,局部概率总线的输入是各概率生成模块(包括帧内预测模式,运动向量,非零系数位置,非零系数值),总线输出是多比特解码模块。
如图1,上述四个概率生成模块(帧内预测模式,运动向量,非零系数位置,非零系数值)均可生成最多16组局部概率总线值,分别对应了最多16个的输出比特。四个概率生成模块给多比特算数解码模块准备16个输出比特需要的16组局部概率总线值。概率生成模块的输入有两组,一组是连接于局部上下文寄存器,另一组连接于局部更新总线。局部上下文寄存器中存放当前编码图像块所需要的概率和大概率值信息,这些信息于多比特算术解码模块启动时,从上下文RAM中读取出来(同时也将上一个图像块的概率信息存储进上下文RAM)。概率生成模块并行的将局部上下文中存储的各概率和大概率值信息读出,并行的计算出16个输出比特对应的概率和大概率值,并结合当前语法元素和上下文情况,计算出旁路标记和结束标记,形成局部概率总线值,输出到多比特算术解码模块。
作为并行概率生成模块的一个例子,图2显示了非零系数位置概率模块的具体结构图。valMPS(0~29)和pStatus(0~29)是局部上下文寄存器的输出,包含30个概率模型信息,概率模型信息包括大概率值和概率,分别用符号valMPS(0~29)和pStatus(0~29)来表示。这30个概率模型对应着2个语法元素,非零标记和末尾标记,非零标记记录当前位置的系数是否为零,末尾标记记录当前的非零系数是否最后一个非零系数。按照不同的位置(0~15)每一种语法元素各15个模型。
如图2中每一个比特级,输入信号是valMPS(0~29)和pStatus(0~29),当前输出比特的语法元素标记s和当前位置p。输出是下一个输出比特的语法元素标记s和位置p,以及当前输出比特的大概率值valMPS和概率pStatus。当前s和当前p作为选通信号,通过上下两个选通器,从valMPS(0~29)和pStatus(0~29)中选通出当前大概率值valMPS和概率pStatus。下一个输出比特的语法元素标记s,由当前的语法元素标记和当前的大概率值经过与非门计算而得到。下一个输出比特的位置信息p,由当前的位置信息和刚计算出的下一个输出比特的语法元素标记经过加法器计算而得到。这样相同结构的16组电路,构成非零系数位置概率模块的16级,其中每一级生成一个输出比特对应的大概率值和概率,从而并行生成了16个输出比特对应的概率信息。
多比特算术解码模块分为16个算术解码单元,每一个单元完成一个输出比特的解码。局部概率总线上的16组概率信息,概率pS(0~15)和大概率值m(0~15),分别连接到16个算术解码单元进行算术解码。如图中所示,每一个级比特级别的输入是大概率值m,概率pS,旁路信号byp,结束信号term,以及当前输出比特的算术解码器状态(范围R和偏移Offset)。输出是下一个输出比特的算术解码器状态(范围R和偏移Offset),大概率标记mps,输出有效标记t,以及输出比特值bin。概率值pS以及算术解码器状态R作为地址线连接到查找表T,输出小概率区间大小LPS。小概率区间大小LPS和范围R分别作为减数和被减数的输入端连接到减法器,减法器输出结果是大概率区间大小。大概率区间大小直接连接作为下一个输出比特的范围。另外,当前范围R经过移位器输出当前范围的一半,再通过选通器,当前范围的一半和大概率区间大小两者选出一个作为下面减法器的减数输入,其中选通器的选择信号是旁路信号byp。选通器输出的是偏移的阈值信号,旁路信号为高时偏移阈值等于当前范围的一半,旁路信号为低是偏移阈值等于大概率区间大小。当前偏移量作为被减数端输入到下面减法器,减法器的输出作为下一比特级的解码器状态输入(偏移Offset),减法器输出的最高位作为大概率标记信号mps输出。输出比特值bin是大概率标记信号mps和大概率值m经过异或门输出。输出有效信号由旁路信号byp,结束信号term,大概率区间大小的最高位经过上与门,上与门输出再和大概率标记信号mps,以及上级输出有效信号作为输入进入下与门,下与门的输出即为当前比特级的输出有效信号。
通过局部更新总线概率生成模块接收新生成输出比特值,并将新的上下文概率信息(概率和大概率值)写入到局部上下文寄存器,以便进行下一次并行二进制算术解码。如果解码值是大概率值,则概率增加,否则如果解码值不是大概率值,则概率减少,减少和增加的值由查表得到。局部上下文寄存器暂存解码当前图像块所需要的概率和大概率值,局部上下文寄存器的结果在图像块切换时与上下文RAM进行交换更新。
以上实施例仅用以说明而非限制本发明的技术方案,本领域的普通技术人员应当理解:可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.一种高效并行基于上下文的自适应二进制算术编码解码方法,其特征在于,在该解码方法中包括语法元素分类处理方法,并行概率生成方法,并行算术解码方法,以及并行概率模型更新方法;所述的并行概率生成方法是生成多个相邻的输出比特的概率值时,不进行完成的算术解码,而是假设所有当前待解码的输出比特均为大概率值,按照这种假设的解码结果对语法元素类型和概率模型进行更新,得到算术解码所需要的新的概率值;所述的并行算术解码方法,在生成多个相邻的输出比特时,对每一个输出比特,设定该输出比特前面的所有同时解码的输出比特均为大概率值,按照这种设定对算术解码器的范围和偏移进行更新,根据更新过后的范围和偏移值进行完整的算术解码;所述的并行概率模型更新方法是利用输出有效标记来进行并行概率模型更新,每一个输出比特都对应一个有效标记,对于每一个输出比特,当该输出比特前面的所有同时解码的输出比特的完整解码值确实均为大概率值时,认为该输出比特有效,否则无效,并行概率模型更新模块只依据有效的输出比特进行概率模型的更新。
2.根据权利要求1所述的高效并行基于上下文的自适应二进制算术编码解码方法,其特征在于,所述的语法元素分类处理的方法是:语法元素按出现频率进行划分,对出现频率较高的语法元素,采用并行概率生成方法,并行算术解码方法,以及并行概率模型更新方法,每一个时钟周期解码一个输入比特;对出现频率较低的语法元素,每一个时钟周期解码一个输出比特。
3.根据权利要求2所述的高效并行基于上下文的自适应二进制算术编码解码方法,其特征在于,所述的出现频率较高的语法元素,包括帧内预测模式,运动向量信息,非零系数位置信息,和非零系数值信息。
4.根据权利要求2所述的高效并行基于上下文的自适应二进制算术编码解码方法,其特征在于,所述的出现频率较低的语法元素,包括宏块类型,宏块帧场自适应标记,编码块模式,分块方式标记和量化参数差值。
5.一种高效并行基于上下文的自适应二进制算术编码解码装置,其特征在于,该解码装置包括头信息解码装置,多比特算术解码装置,并行概率生成装置,以及局部上下文寄存器和上下文模型RAM(随机访问存储器);所述的多比特算术解码装置解码出现频率较高的语法元素,每一个时钟周期解码一个输入比特,输入连接多个输出比特对应的概率,大概率值和控制标记,输出连接多个输出比特以及各输出比特的有效标记,比特级之间传递的范围和偏移值是假设解码比特均为大概率情况时的范围和偏移值;所述的并行概率生成装置解码出现频率较高的语法元素,包括帧内预测模式并行概率生成装置,运动向量并行概率生成装置,非零位置系数并行概率生成装置,非零系数值并行概率生成装置;这四个并行概率生成装置分别与局部上下文寄存器相连接,该四个并行概率生成装置每一个时钟周期输出一个输入比特解码所需要的多个概率和大概率值和控制标记,每一对概率和大概率值是假设解码比特均为大概率情况时的概率和大概率值;并行概率生成装置同时进行并行概率模型更新,并将更新的结果写入局部上下文寄存器。
6.根据权利要求5所述的高效并行基于上下文的自适应二进制算术编码解码装置,其特征在于,所述的头信息解码装置解码出现频率较低的语法元素,每一个时钟周期解码一个输出比特。
7.根据权利要求5所述的高效并行基于上下文的自适应二进制算术编码解码装置,其特征在于,所述的局部上下文寄存器暂存解码当前图像块所需要的概率和大概率值,局部上下文寄存器的结果在图像块切换时与上下文模型RAM进行交换更新。
CN 200610167355 2006-12-29 2006-12-29 高效并行cabac解码方法及其装置 Active CN101212676B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610167355 CN101212676B (zh) 2006-12-29 2006-12-29 高效并行cabac解码方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610167355 CN101212676B (zh) 2006-12-29 2006-12-29 高效并行cabac解码方法及其装置

Publications (2)

Publication Number Publication Date
CN101212676A CN101212676A (zh) 2008-07-02
CN101212676B true CN101212676B (zh) 2010-06-02

Family

ID=39612279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610167355 Active CN101212676B (zh) 2006-12-29 2006-12-29 高效并行cabac解码方法及其装置

Country Status (1)

Country Link
CN (1) CN101212676B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101836454B (zh) * 2008-12-03 2012-08-22 联发科技股份有限公司 对有序熵切片执行平行cabac码处理的方法及装置
CN101771879B (zh) * 2010-01-28 2011-08-17 清华大学 基于cabac的并行归一化编码实现电路及编码方法
CN102201816B (zh) * 2010-03-25 2014-01-01 承景科技股份有限公司 并联的五旁路位全文自适应二进制算术编码解码器
CN101951516B (zh) * 2010-09-25 2013-06-05 清华大学 基于h.264/avc中cabac的并行编码实现电路及编码方法
CN103262534B (zh) 2010-10-14 2018-05-22 汤姆逊许可公司 改进熵编码和解码的方法及装置
US8953690B2 (en) * 2011-02-16 2015-02-10 Google Technology Holdings LLC Method and system for processing video data
US11245902B2 (en) 2011-06-30 2022-02-08 Sony Corporation Binarization of DQP using separate absolute value and sign (SAVS) in CABAC
US9112526B2 (en) * 2011-06-15 2015-08-18 Sony Corporation Binarization of DQP using separate absolute value and sign (SAVS) in CABAC
CN103597829B (zh) * 2011-06-28 2017-03-22 日本电气株式会社 对视频量化参数编码的方法和对视频量化参数解码的方法
KR20130135358A (ko) * 2011-07-12 2013-12-10 닛본 덴끼 가부시끼가이샤 영상 양자화 파라미터 부호화 방법 및 영상 양자화 파라미터 복호 방법
WO2013074088A1 (en) * 2011-11-15 2013-05-23 Intel Corporation Video encoder with 2-bin per clock cabac encoding
JP5848153B2 (ja) * 2012-02-17 2016-01-27 ルネサスエレクトロニクス株式会社 信号処理装置及び半導体装置
KR101920519B1 (ko) * 2012-05-25 2018-11-20 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
CN108683917B (zh) * 2012-08-09 2021-03-30 太阳专利托管公司 图像编码方法及图像编码装置
CN103338368B (zh) * 2013-05-15 2018-03-27 武汉精测电子集团股份有限公司 基于fpga的jpeg并行解码装置与解码方法
CN111614957B (zh) * 2015-05-19 2022-03-22 联发科技股份有限公司 图像或者视频数据的熵编解码的方法及熵编解码装置
CN105516727B (zh) * 2015-12-08 2018-09-28 浙江大华技术股份有限公司 一种图像编码方法及装置
CN107801033B (zh) * 2016-09-06 2021-05-11 联发科技股份有限公司 应用于数字音视频编解码技术标准***的解码方法及解码装置
CN108235013B (zh) * 2018-01-22 2020-03-17 合肥工业大学 一种基于hevc的低周期cabac解码器及其解码方法
CN111050341B (zh) * 2019-12-24 2022-02-22 展讯通信(上海)有限公司 双连接场景下空口拥塞状态的判定方法及装置
CN113905233B (zh) * 2021-09-30 2024-04-30 安谋科技(中国)有限公司 基于音频视频编码标准的熵解码方法、可读介质及其电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725859A (zh) * 2004-07-22 2006-01-25 三星电子株式会社 内容自适应二进制算术编码的方法和使用该方法的设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725859A (zh) * 2004-07-22 2006-01-25 三星电子株式会社 内容自适应二进制算术编码的方法和使用该方法的设备

Also Published As

Publication number Publication date
CN101212676A (zh) 2008-07-02

Similar Documents

Publication Publication Date Title
CN101212676B (zh) 高效并行cabac解码方法及其装置
CN102231830B (zh) 用于上下文算术编解码的运算单元
CN100531386C (zh) 一种上下文自适应二进制算术编码器及其方法
CN100584025C (zh) 一种基于内容自适应的算术解码***及装置
US7365659B1 (en) Method of context adaptive binary arithmetic coding and coding apparatus using the same
CN102088603B (zh) 用于视频编码器的熵编码器及其实现方法
CN101562455B (zh) 内容可适性二元算数编码的译码装置及其译码方法
US9001882B2 (en) System for entropy decoding of H.264 video for real time HDTV applications
JP2007142637A (ja) 画像情報符号化装置
CN101951516A (zh) 基于h.264/avc中cabac的并行编码实现电路及编码方法
CN101193306A (zh) 运动矢量检测装置和运动矢量检测方法
CN101848311B (zh) 基于Avalon总线JPEG2000的EBCOT编码器
US20060209965A1 (en) Method and system for fast run-level encoding
CN103227924A (zh) 一种算术编码器及编码方法
CN100378687C (zh) 一种高速缓存预取模块及其方法
CN102801974B (zh) 基于cabac的图像压缩熵编码器
US10070127B2 (en) Method and apparatus for arithmetic coding and termination
CN110049333B (zh) 一种jpeg_ls图像压缩输出编码码流拼接***及方法
CN102473315A (zh) 再次使用树结构编码和解码二元集的方法和装置
CN110191339B (zh) 码率估计核心单元、码率估计装置及码率估计方法
US7928868B1 (en) Entropy decoding device
CN103200407B (zh) 一种自适应熵编码器
CN101277444A (zh) 一种对哥伦布码进行解码的装置及方法
CN102638680B (zh) 基于硬件的cabac编码方法及***
WO2021056214A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100089 18 / F, block B, Zhizhen building, No.7, Zhichun Road, Haidian District, Beijing

Patentee after: Beijing Ziguang zhanrui Communication Technology Co.,Ltd.

Address before: 100084, Room 516, building A, Tsinghua Science and Technology Park, Beijing, Haidian District

Patentee before: BEIJING SPREADTRUM HI-TECH COMMUNICATIONS TECHNOLOGY Co.,Ltd.