CN103826120A - 一种适用于hevc的码流解析器 - Google Patents

一种适用于hevc的码流解析器 Download PDF

Info

Publication number
CN103826120A
CN103826120A CN201410100270.XA CN201410100270A CN103826120A CN 103826120 A CN103826120 A CN 103826120A CN 201410100270 A CN201410100270 A CN 201410100270A CN 103826120 A CN103826120 A CN 103826120A
Authority
CN
China
Prior art keywords
cabac
code stream
decoding
module
decoder module
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.)
Granted
Application number
CN201410100270.XA
Other languages
English (en)
Other versions
CN103826120B (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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN201410100270.XA priority Critical patent/CN103826120B/zh
Publication of CN103826120A publication Critical patent/CN103826120A/zh
Application granted granted Critical
Publication of CN103826120B publication Critical patent/CN103826120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种适用于HEVC的码流解析器,包括码流解析状态控制模块、EG0解码模块、相邻上块信息及相关参数存储单元、解码输出存储单元、码流FIFO和CABAC解码模块;所述EG0是指0阶顺序指数哥伦布;所述的码流FIFO通过缓冲位移分别与所述CABAC解码模块和EG0解码模块相连,所述EG0解码模块通过码流解析状态控制模块与所述CABAC解码模块相连;所述EG0解码模块通过相邻上块信息及相关参数存储单元与所述CABAC解码模块相连。本发明的码流解析器根据HEVC标准中的语法元素划分重新设计状态机,能够极大的挑高数据吞吐量;同时增加了编码树单元上下文变量以及独立片段上下文变量的存储及相应的同步逻辑,能够实现HEVC标准中规定的非独立片段上下文变量以及需要同步的编码树单元上下文变量的同步功能。

Description

一种适用于HEVC的码流解析器
技术领域
本发明涉及一种适用于HEVC的码流解析器,属于数字视频信号编解码的技术领域。
背景技术
HEVC(High Efficiency Video Codec)是目前由国际电信组织(ITU)和运动图像专家组(MPEG)联合制定中的新一代国际视频编码标准。与现在的国际视频标准H.264/AVC相比,HEVC能保证在相同图像质量的前提下,将视频的码率降低50%。但相应的,HEVC的计算复杂度提高了2至3倍。与H.264相比,HEVC的编码方式只有0阶顺序指数哥伦布编码以及CABAC编码两种,不再使用CAVLC编码。与H.264一样,HEVC中码流解析的瓶颈仍然是CABAC解码。
与H.264中的CABAC编码先比,HEVC中的CABAC编码在语法元素的划分以及相应发编解码方式上进行了改进。附图1中展示了HEVC中使用CABAC编码的语法元素。这些语法元素描述了编码的像素块的编码单元(CU)、预测单元(PU)、转化单元(TU)以及环路滤波器(LF)的特性。对于CU来说,这些语法元素描述了块的结构以及该CU的预测模式(帧内或帧间);对于PU,表格中的语法元素描述的是帧内预测模式以及一系列的运动信息;对于TU,主要包含残差矩阵的变化系数、符号等信息;LF语法元素在每一个最大编码单元LCU中传输一次,描述了环路滤波中SAO的类型和偏移量。这些改进使得CABAC模块能够有更大的数据吞吐量,但也导致了解码过程的变动。
出来上述变化之外,在具体的CABAC解码过程中,HEVC中的初始化模块增加了上下文变量的存储及同步功能,这一变化导致当前的H.264中的CABAC节解码模块不再适用。
发明内容
针对现有技术的不足,本发明涉及一种适用于HEVC的码流解析器。
本发明的技术方案如下:
本发明涉及一种适用于HEVC的码流解析器,包括码流解析状态控制模块、EG0解码模块、相邻上块信息及相关参数存储单元、解码输出存储单元、码流FIFO和CABAC解码模块;所述EG0是指0阶顺序指数哥伦布;
所述的码流FIFO通过缓冲位移分别与所述CABAC解码模块和EG0解码模块相连,所述EG0解码模块通过码流解析状态控制模块与所述CABAC解码模块相连;所述EG0解码模块通过相邻上块信息及相关参数存储单元与所述CABAC解码模块相连;
所述CABAC解码模块包括CABAC算术解码、输出模块和CABAC状态控制;所述CABAC算术解码通过输出模块与所述解码输出存储单元相连;所述ABAC算术解码与所述CABAC状态控制相连,所述CABAC状态控制通过输出模块与所述解码输出存储单元相连;
所述缓冲位移与所述CABAC算术解码相连,所述相邻上块信息及相关参数存储单元与所述CABAC状态控制相连;
所述码流解析状态控制模块是整个码流解析器的控制中心,根据HEVC标准上规定的码流成分及相应的解析顺序,所述码流解析状态控制模块协调EG0解码模块和CABAC解码模块的工作,完成相应语法元素的解码操作;
所述EG0解码模块用于完成使用0阶顺序指数哥伦布编码的语法元素的解码操作,具体包括有符号型和无符号型两种;
所述相邻上块信息及相关参数存储单元采用SRAM来实现,用于存储以下信息:
(1)相邻上块的语法元素值,这些语法元素的值用于计算相应语法元素的模型索引增量:在每解完一个宏块语法元素值后更新相邻上块信息SRAM中相应位置的语法元素值;通过即时动态更新,可避免存储两行宏块的句法元素值,进而节省存储空间,而同时又不影响模型索引增量值的计算;
(2)用于CABAC解码过程中需要的相关参数:包括序列参数集、图像参数集以及片头语法元素值;
所述解码输出存储单元,用于存储CABAC解码输出的残差矩阵及运动信息;由于数据量很大,所以采用SRAM来实现,同时,为了降低延时,实现与反量化、反变换等模块的协同工作,采用两个SRAM来实现乒乓操作模式,例如,当CABAC输出模块往SRAM1中写入数据时,反量化/反变换模块从SRAM2中读取残差系数值。通过这样的实现,能够使各模块同时运行;
所述码流FIFO,用于暂时存储码流信息,同时实现码流信息的异步存取;
所述CABAC解码模块,用于实现使用CABAC编码的语法元素的解码操作:包括CABAC算术解码模块、CABAC状态控制模块以及输出模块。
根据本发明优选的,所述CABAC算术解码模块包括算术解码及重归一化单元和上下文模型管理单元;
上述算术解码及重归一化单元包括常规解码逻辑、旁路解码逻辑以及终止解码逻辑,该单元全部由组合逻辑实现;该单元通过HEVC标准中规定的解码类型来选择相应解码方式进行解码,同时更新当前区间宽度、区间偏置以及上下文变量;
上述上下文模型管理单元在解析一个新的slice、新的tile以及新的一行CTU时会按照各自相应的初始化流程完成各上下文模型的初始化或者同步以及算术解码引擎的初始化;同时,该单元还能按照存储要求,将将相应的CTU以及slice segment的上下文变量存到相应的寄存器中;为了提高解码速度,需要在一个时钟周期内完成上下文模型信息的更新,并获得下一个欲解比特需要的上下文模型信息。该管理单元由CABAC状态控制模块进行控制,每个时钟读入算术解码单元更新后的上下文模型值,同时输出解码需要的上下文模型值。当读入和输出的上下文模型相同时,算术解码单元将直接使用更新后的上下文模型值(即管理单元读入的模型值)),这样,可避免一个时钟的等待;
上述CABAC状态控制模块用于根据标准上规定的码流成分及解码顺序,控制状态跳转,同时控制相应的上下文变量的更新及读取,来完成相应的CABAC解码操作;
上述输出模块用于实现对CABAC解码的结果的输出控制。
根据本发明优选的,所述EG0解码模块的解码方式包括有符号型和无符号型两种,该解析器采用硬件中固化查找表的方式来实现上述两种解码方式。为了提高解码效率,本发明中采用硬件中固化查找表的方式来实现这两种解码方式。
根据本发明优选的,所述码流FIFO宽度为8位。方便CABAC模块的使用。
本发明的优势:
与现有技术相比,本发明所述的码流解析器适用于HEVC中改进的的语法元素解析过程,并且其CABAC解码过程符合HEVC的要求。
本发明的码流解析器根据HEVC标准中的语法元素划分重新设计状态机,能够极大的挑高数据吞吐量;同时增加了编码树单元上下文变量以及独立片段上下文变量的存储及相应的同步逻辑,能够实现HEVC标准中规定的非独立片段上下文变量以及需要同步的编码树单元上下文变量的同步功能。同时,本发明的码流解析器的子模块划分合理,能够实现码流的读取、解码、输出的流水线操作,极大的提高解码效率。
附图说明
图1是HEVC中使用CABAC编码的语法元素划分;
图2是HEVC码流解析器的硬件架构。
具体实施方式
下面结合附图对本发明进一步详细说明,但不限于此。
实施例、
一种适用于HEVC的码流解析器,包括码流解析状态控制模块、EG0解码模块、相邻上块信息及相关参数存储单元、解码输出存储单元、码流FIFO和CABAC解码模块;所述EG0是指0阶顺序指数哥伦布;
所述的码流FIFO通过缓冲位移分别与所述CABAC解码模块和EG0解码模块相连,所述EG0解码模块通过码流解析状态控制模块与所述CABAC解码模块相连;所述EG0解码模块通过相邻上块信息及相关参数存储单元与所述CABAC解码模块相连;
所述CABAC解码模块包括CABAC算术解码、输出模块和CABAC状态控制;所述CABAC算术解码通过输出模块与所述解码输出存储单元相连;所述ABAC算术解码与所述CABAC状态控制相连,所述CABAC状态控制通过输出模块与所述解码输出存储单元相连;
所述缓冲位移与所述CABAC算术解码相连,所述相邻上块信息及相关参数存储单元与所述CABAC状态控制相连;
所述码流解析状态控制模块是整个码流解析器的控制中心,根据HEVC标准上规定的码流成分及相应的解析顺序,所述码流解析状态控制模块协调EG0解码模块和CABAC解码模块的工作,完成相应语法元素的解码操作;
所述EG0解码模块用于完成使用0阶顺序指数哥伦布编码的语法元素的解码操作,具体包括有符号型和无符号型两种;
所述相邻上块信息及相关参数存储单元采用SRAM来实现,用于存储以下信息:
(1)相邻上块的语法元素值,这些语法元素的值用于计算相应语法元素的模型索引增量:在每解完一个宏块语法元素值后更新相邻上块信息SRAM中相应位置的语法元素值;通过即时动态更新,可避免存储两行宏块的句法元素值,进而节省存储空间,而同时又不影响模型索引增量值的计算;
(2)用于CABAC解码过程中需要的相关参数:包括序列参数集、图像参数集以及片头语法元素值;
所述解码输出存储单元,用于存储CABAC解码输出的残差矩阵及运动信息;由于数据量很大,所以采用SRAM来实现,同时,为了降低延时,实现与反量化、反变换等模块的协同工作,采用两个SRAM来实现乒乓操作模式,例如,当CABAC输出模块往SRAM1中写入数据时,反量化/反变换模块从SRAM2中读取残差系数值。通过这样的实现,能够使各模块同时运行;
所述码流FIFO,用于暂时存储码流信息,同时实现码流信息的异步存取;
所述CABAC解码模块,用于实现使用CABAC编码的语法元素的解码操作:包括CABAC算术解码模块、CABAC状态控制模块以及输出模块。
所述CABAC算术解码模块包括算术解码及重归一化单元和上下文模型管理单元;
上述算术解码及重归一化单元包括常规解码逻辑、旁路解码逻辑以及终止解码逻辑,该单元全部由组合逻辑实现;该单元通过HEVC标准中规定的解码类型来选择相应解码方式进行解码,同时更新当前区间宽度、区间偏置以及上下文变量;
上述上下文模型管理单元在解析一个新的slice、新的tile以及新的一行CTU时会按照各自相应的初始化流程完成各上下文模型的初始化或者同步以及算术解码引擎的初始化;同时,该单元还能按照存储要求,将将相应的CTU以及slice segment的上下文变量存到相应的寄存器中;为了提高解码速度,需要在一个时钟周期内完成上下文模型信息的更新,并获得下一个欲解比特需要的上下文模型信息。该管理单元由CABAC状态控制模块进行控制,每个时钟读入算术解码单元更新后的上下文模型值,同时输出解码需要的上下文模型值。当读入和输出的上下文模型相同时,算术解码单元将直接使用更新后的上下文模型值(即管理单元读入的模型值)),这样,可避免一个时钟的等待;
上述CABAC状态控制模块用于根据标准上规定的码流成分及解码顺序,控制状态跳转,同时控制相应的上下文变量的更新及读取,来完成相应的CABAC解码操作;
上述输出模块用于实现对CABAC解码的结果的输出控制。
所述EG0解码模块的解码方式包括有符号型和无符号型两种,该解析器采用硬件中固化查找表的方式来实现上述两种解码方式。为了提高解码效率,本发明中采用硬件中固化查找表的方式来实现这两种解码方式。
所述码流FIFO宽度为8位。方便CABAC模块的使用。
本发明的码流解析器根据HEVC标准规定的语法元素划分(如图1所示),重新规划状态机能够做到以下几点,从而提高数据的吞吐量:
(1)减少bin的总量:HEVC标准规定的语法元素划分,可以通过改变二进制化方式、推测某些bin的值以及设置更高级的标志(flag)避免信息冗余等方式来降低需要处理的bin的总量,从而变相的提高数据吞吐量;
(2)减少上下文选择的依赖性;由于上下文选择过程中的数据依赖性,循环解码多个bin(这里指一位二进制)需要大量预测操作。减少此类依赖性可以简化上下文选择的过程并减少并行处理多个bins所需要的预测操作数量;
(3)减少解析的依赖性:CABAC解析本身就是一个瓶颈,因此应该尽量减少对其它任何可能造成CABAC中止的视频编码模块的依赖性。当然,理想情况下是将解析流程完全同其它过程独立开来;
(4)减少内存需求:对内存的访问通常会增加路径延时,因此减少内存存取操作很有必要,同时,这样做还可以减少成本、降低功耗。

Claims (4)

1.一种适用于HEVC的码流解析器,其特征在于,该解析器包括码流解析状态控制模块、EG0解码模块、相邻上块信息及相关参数存储单元、解码输出存储单元、码流FIFO和CABAC解码模块;所述EG0是指0阶顺序指数哥伦布;
所述的码流FIFO通过缓冲位移分别与所述CABAC解码模块和EG0解码模块相连,所述EG0解码模块通过码流解析状态控制模块与所述CABAC解码模块相连;所述EG0解码模块通过相邻上块信息及相关参数存储单元与所述CABAC解码模块相连;
所述CABAC解码模块包括CABAC算术解码、输出模块和CABAC状态控制;所述CABAC算术解码通过输出模块与所述解码输出存储单元相连;所述ABAC算术解码与所述CABAC状态控制相连,所述CABAC状态控制通过输出模块与所述解码输出存储单元相连;
所述缓冲位移与所述CABAC算术解码相连,所述相邻上块信息及相关参数存储单元与所述CABAC状态控制相连;
所述码流解析状态控制模块是整个码流解析器的控制中心,根据HEVC标准上规定的码流成分及相应的解析顺序,所述码流解析状态控制模块协调EG0解码模块和CABAC解码模块的工作,完成相应语法元素的解码操作;
所述EG0解码模块用于完成使用0阶顺序指数哥伦布编码的语法元素的解码操作,具体包括有符号型和无符号型两种;
所述相邻上块信息及相关参数存储单元采用SRAM来实现,用于存储以下信息:
(1)相邻上块的语法元素值,这些语法元素的值用于计算相应语法元素的模型索引增量:(2)用于CABAC解码过程中需要的相关参数:包括序列参数集、图像参数集以及片头语法元素值;
所述解码输出存储单元,用于存储CABAC解码输出的残差矩阵及运动信息;
所述码流FIFO,用于暂时存储码流信息,同时实现码流信息的异步存取;
所述CABAC解码模块,用于实现使用CABAC编码的语法元素的解码操作:包括CABAC算术解码模块、CABAC状态控制模块以及输出模块。
2.根据权利要求1所述的一种适用于HEVC的码流解析器,其特征在于,所述CABAC算术解码模块包括算术解码及重归一化单元和上下文模型管理单元;
上述算术解码及重归一化单元包括常规解码逻辑、旁路解码逻辑以及终止解码逻辑,该单元全部由组合逻辑实现;该单元通过HEVC标准中规定的解码类型来选择相应解码方式进行解码,同时更新当前区间宽度、区间偏置以及上下文变量;
上述上下文模型管理单元在解析一个新的slice、新的tile以及新的一行CTU时会按照各自相应的初始化流程完成各上下文模型的初始化或者同步以及算术解码引擎的初始化;同时,该单元还能按照存储要求,将将相应的CTU以及slice segment的上下文变量存到相应的寄存器中;
上述CABAC状态控制模块用于根据标准上规定的码流成分及解码顺序,控制状态跳转,同时控制相应的上下文变量的更新及读取,来完成相应的CABAC解码操作;
上述输出模块用于实现对CABAC解码的结果的输出控制。
3.根据权利要求1所述的一种适用于HEVC的码流解析器,其特征在于,所述EG0解码模块的解码方式包括有符号型和无符号型两种,该解析器采用硬件中固化查找表的方式来实现上述两种解码方式。
4.根据权利要求1所述的一种适用于HEVC的码流解析器,其特征在于,所述码流FIFO宽度为8位。
CN201410100270.XA 2014-03-18 2014-03-18 一种适用于hevc的码流解析器 Active CN103826120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410100270.XA CN103826120B (zh) 2014-03-18 2014-03-18 一种适用于hevc的码流解析器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410100270.XA CN103826120B (zh) 2014-03-18 2014-03-18 一种适用于hevc的码流解析器

Publications (2)

Publication Number Publication Date
CN103826120A true CN103826120A (zh) 2014-05-28
CN103826120B CN103826120B (zh) 2017-04-05

Family

ID=50760914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410100270.XA Active CN103826120B (zh) 2014-03-18 2014-03-18 一种适用于hevc的码流解析器

Country Status (1)

Country Link
CN (1) CN103826120B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105657421A (zh) * 2016-01-15 2016-06-08 珠海全志科技股份有限公司 8x8残差系数块编码方法及***
CN104918048B (zh) * 2015-06-03 2018-04-03 复旦大学 适用于hevc标准的熵编码上下文概率模型建模模块设计方法
CN113038140A (zh) * 2019-12-24 2021-06-25 扬智电子科技(中国)有限公司 视频解码方法与视频解码装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909664A (zh) * 2005-08-04 2007-02-07 华为技术有限公司 一种基于内容自适应的算术解码***及装置
CN102547294A (zh) * 2012-02-16 2012-07-04 复旦大学 适用于h.264和hevc视频标准的cabac硬件解码器架构
WO2013108639A1 (en) * 2012-01-19 2013-07-25 Sharp Kabushiki Kaisha High throughput coding for cabac in hevc
WO2013153820A1 (en) * 2012-04-11 2013-10-17 Sharp Kabushiki Kaisha Golomb-rice/eg coding technique for cabac in hevc

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909664A (zh) * 2005-08-04 2007-02-07 华为技术有限公司 一种基于内容自适应的算术解码***及装置
WO2013108639A1 (en) * 2012-01-19 2013-07-25 Sharp Kabushiki Kaisha High throughput coding for cabac in hevc
CN102547294A (zh) * 2012-02-16 2012-07-04 复旦大学 适用于h.264和hevc视频标准的cabac硬件解码器架构
WO2013153820A1 (en) * 2012-04-11 2013-10-17 Sharp Kabushiki Kaisha Golomb-rice/eg coding technique for cabac in hevc

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104918048B (zh) * 2015-06-03 2018-04-03 复旦大学 适用于hevc标准的熵编码上下文概率模型建模模块设计方法
CN105657421A (zh) * 2016-01-15 2016-06-08 珠海全志科技股份有限公司 8x8残差系数块编码方法及***
CN105657421B (zh) * 2016-01-15 2018-08-31 珠海全志科技股份有限公司 8x8残差系数块编码方法及***
CN113038140A (zh) * 2019-12-24 2021-06-25 扬智电子科技(中国)有限公司 视频解码方法与视频解码装置
US11431978B2 (en) 2019-12-24 2022-08-30 Ali Corporation Video decoding method and video decoding device for improving decoding efficiency
CN113038140B (zh) * 2019-12-24 2024-05-28 扬智电子科技(成都)有限公司 上下文适应性二进制算术编码的视频解码方法与其视频解码装置

Also Published As

Publication number Publication date
CN103826120B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
RU2758037C2 (ru) Кодирование изображений с малой задержкой
CN102231830B (zh) 用于上下文算术编解码的运算单元
CN104041031A (zh) 视频编码和解码方法和使用该方法的装置
CN107071494B (zh) 视频图像帧的二进制语法元素的生成方法和***
CN103621079A (zh) 帧内预测方法以及使用该方法的编码器和解码器
US9001882B2 (en) System for entropy decoding of H.264 video for real time HDTV applications
CN103563380A (zh) 减少用于视频处理的行缓冲的方法及装置
US20160142740A1 (en) Data encoding and decoding
CN104025594A (zh) 视频编码中的瓦片大小
US20130188694A1 (en) Method of determining binary codewords for transform coefficients
CN104581154B (zh) 一种熵编码方法和熵编码器电路
CN106576168A (zh) 图像压缩解压缩装置
CN103826120A (zh) 一种适用于hevc的码流解析器
CN102547294A (zh) 适用于h.264和hevc视频标准的cabac硬件解码器架构
GB2534409A (en) Data encoding and decoding
KR102661314B1 (ko) 이미지 및 비디오 코딩을 위한 고정밀 변환 및 양자화
CN101267559A (zh) 视频解码器的通用熵解码方法及装置
Tsai et al. Encoder hardware architecture for HEVC
CN102075746B (zh) 一种视频宏块解码方法及装置
CN101646083B (zh) 一种avs视频码流解析***
RU2784930C1 (ru) Кодирование изображений с малой задержкой
RU2785714C1 (ru) Кодирование изображений с малой задержкой
EP2777279B1 (en) Method of determining binary codewords for transform coefficients
CN105847801A (zh) 具有新颖的二进制元素译码多标准视频译码器
Guo et al. An improved CAVLC entropy encoder of H. 264/AVC and FPGA implementation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant