CN113489979A - 熵编码方法、装置、电子设备及存储介质 - Google Patents
熵编码方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113489979A CN113489979A CN202110594042.2A CN202110594042A CN113489979A CN 113489979 A CN113489979 A CN 113489979A CN 202110594042 A CN202110594042 A CN 202110594042A CN 113489979 A CN113489979 A CN 113489979A
- Authority
- CN
- China
- Prior art keywords
- symbol
- coded
- probability
- interval
- symbols
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 34
- 239000000872 buffer Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提出一种熵编码方法、装置、电子设备及存储介质,该方法包括:从待编码的语法元素中确定与待编码符号相邻的已编码符号;获取已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间;根据已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,确定待编码符号的概率区间;根据已编码符号的概率区间和最大概率符号区间,确定待编码符号的概率区间起始值。应用本申请能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率。
Description
技术领域
本申请属于音视频编码技术领域,具体涉及一种熵编码方法、装置、电子设备及存储介质。
背景技术
AVS(Advanced Entropy Coding,音视频编码标准)是《信息技术先进音视频编码》系列标准的简称,是数字音视频产业的共性基础标准,AVS3音视频编码标准属于第三代AVS标准,其主要在编解码复杂度控制上做出显著优化和大幅度性能提升。
高级熵编码(AEC)是基于上下文的自适应二进制算术编码技术,是视频编码中的重要组成部分,目的是去除视频图像中的统计冗余。高级熵编码的基本原理是:根据信源可能发现的不同符号序列的概率,把(0,1)区间划分为互不重叠的子区间,且子区间的宽度恰好是各符号序列的概率,以使得信源发出的不同符号序列与各子区间一一对应,如此,每个子区间内的任意一个实数都可以用来表示对应的符号序列,这个数就是该符号序列所对应的码字。显然,一串符号序列发生的概率越大,对应的子区间就越宽,要表达它所用的比特数就减少,因而相应的码字就越短。
现有技术中,高级熵编码的过程包括:获取概率值、range(算术编码中的概率区间)计算、low(算术编码的区间起始值)计算及比特输出四个阶段,每个阶段分别串行计算。由于高级熵编码过程依赖于不同符号序列的概率进行压缩,使得进行编码流程时,不同符号之间的数据依赖性强。如此,当需要处理的bin不断增加时,高级熵编码的关键路径增加,最高运行频率随之下降,从而导致高级熵编码器的吞吐率下降。
发明内容
本申请提出一种熵编码方法、装置、电子设备及存储介质,能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率。
本申请第一方面实施例提出了一种一种熵编码方法,所述方法包括:
从待编码的语法元素中确定与待编码符号相邻的已编码符号;
获取所述已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间;
根据所述已编码符号的概率区间和所述已编码符号的最小概率符号区间前预设数目位的值,确定所述待编码符号的概率区间;
根据所述已编码符号的概率区间和最大概率符号区间,确定所述待编码符号的概率区间起始值。
可选地,所述待编码符号和所述已编码符号均为二进制符号;
所述根据所述已编码符号的概率区间和所述已编码符号的最小概率符号区间前预设数目位的值,确定所述待编码符号的概率区间,包括:
对所述最小概率符号区间前预设数目位的值与所述已编码符号的概率区间的值求和,根据所述求和结果确定为所述待编码符号的概率区间。
可选地,所述根据接收到的所有语法元素确定与待编码符号相邻的已编码符号之前,还包括:
基于预设的音视频编码标准,按照编码方式将所有待编码符号划分为常规编码符号和旁路编码符号;所述常规编码符号在每次编码时根据更新后的上下文模型索引确定符号对应的概率值,所有所述旁路编码符号每次编码对应的概率值相同。
可选地,所述根据所述已编码符号的概率区间和最小概率符号区间,确定所述待编码符号的概率区间,包括:
根据所述已编码符号的概率区间和最小概率符号区间,按照待编码符号的编码方式,分别采用常规编码和旁路编码并行计算所有待编码符号的概率区间。
可选地,所述根据所述已编码符号的概率区间和最大概率符号区间,确定所述待编码符号的概率区间起始值,包括:
将确定了所述概率区间的所有待编码符号混合,并根据待编码述符号的概率区间和和最大概率符号区间,依次计算待编码述符号的概率区间起始值。
可选地,所述根据接收到的所有语法元素和预设的音视频编码标准,确定与待编码符号相邻的已编码符号,包括:
对接收到的语法元素进行分析和二值化处理,得到所有待编码符号;
基于预设的音视频编码标准规定的上下文模型索引集,采用至少两个上下文储存单元,依次确定每个待编码符号的上下文模型索引号。
可选地,所述根据所述已编码符号的概率区间和最小概率符号区间,确定所述待编码符号的概率区间,包括:
每个时钟周期内,根据所述已编码符号的概率区间和最小概率符号区间,串行确定预设数目个待编码符号的概率区间。
本申请第二方面的实施例提供了一种熵编码装置,所述装置包括:
第一确定模块,用于从待编码的语法元素中确定与待编码符号相邻的已编码符号;
获取模块,用于获取所述已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间;
第二确定模块,用于根据所述已编码符号的概率区间和最小概率符号区间,确定所述待编码符号的概率区间;
第三确定模块,用于根据所述已编码符号的概率区间和最大概率符号区间,确定所述待编码符号的概率区间起始值。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现如第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现如第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例提供的熵编码方法,对range计算方式进行改进,将现有的根据已编码符号的概率区间和最大概率符号区间值确定当前待编码符号的概率区间的方式,简化为据已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,确定待编码符号的概率区间,如此,在确定与待编码符号相邻的已编码符号,并获取已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间之后,可仅采用已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,有效简化了range计算过程,能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率;且由于最小概率符号区间较窄,后面位数的值很小,通常对整体计算当前待编码符号的概率区间影响不大,故本实施例改进后的range计算公式即提高了高级熵编码的编码速度,也保证了编码的准确性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请实施例提供的熵编码方法的流程示意图;
图2示出了本申请实施例提供的熵编码方法的具体逻辑示意图;
图3示出了本申请实施例提供的熵编码装置的结构示意图;
图4示出了本申请实施例提供的熵编码装置的具体结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种熵编码方法、装置、电子设备及存储介质。
本申请实施例提供了一种熵编码方法,主要适用于基于AVS3的算术编解码(熵编码的一种方式)过程,该方法可应用于熵编码装置,该装置可以是一电子设备,也可以是一电子设备的某功能模块,其能够根据接收到的所有语法元素和预设的音视频编码标准,确定与待编码符号相邻的已编码符号,并获取已编码符号的已编码信息(可包括概率区间、最大概率符号区间和最小概率符号区间等),然后根据已编码符号的已编码信息,通过简化后的算术编码流程确定待编码符号的待编码信息。应用本方法,对算术编码过程进行简化,能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率。如图1所示,该方法包括以下步骤:
步骤S1,从待编码的语法元素中确定与待编码符号相邻的已编码符号。
其中,语法元素可理解为由比特(BIT,Binary digit,信息量单位)构成的码字串,或者一组标识,可用于表示编码过程中涉及的各种数据或信息。
在本实施例中,熵编码过程(主要是指算术编码)通常包括初始概率值获取、range(概率区间值,0-1之间)计算、low(区间起始值)计算及比特输出四个阶段,每个阶段分别串行执行。其中,初始概率值获取是指按照待编码的所有符号中每个符号出现的频率,计算每个符号的概率值(可以但不限于取均值)。在range计算过程中,对于首个编码的符号,可以按照该初始概率值输出该符号相应的比特值;对于非首个编码的符号,可基于待编码符号之前的已编码符号的概率区间,并根据各已编码符号出现的频率,对相应符号的概率区间再次划分和取值。所以,本步骤中,对于非首个编码的待编码符号,需要获取与该待编码符号相邻的已编码符号,以便于后续获取该已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间。
于本实施例一具体实施方式中,需要对语法元素进行分析处理,以得到构成语法元素的比特符号,相应地,步骤S1可以包括以下处理:对接收到的语法元素进行分析和二值化处理,得到所有待编码符号;基于预设的音视频编码标准规定的上下文模型索引集,采用至少两个上下文储存单元,依次确定每个待编码符号的上下文模型索引号。
其中,上下文模型索引集可理解为包括很多上下文模型索引号的集合,上下文储存单元可用于查找各符号对应的上下文模型索引号,并对待编码符号及其对应的上下文模型索引号进行存储。
在本实施例中,熵编码装置在接收到输入的语法元素后,可以对该些语法元素进行分析,以得到语法元素包含的所有字符,然后再将该所有字符进行二值化处理,以得到二进制的待编码符号(即bin),然后可根据预设的音视频编码标准规定的上下文模型索引集确定该些待编码符号的上下文模型索引号,继而确定每个符号的初始概率值,且在编码过程中,每编码完一比特,会对上下文模型索引集进行更新,以实现对视频流实时统计特性的跟踪。
由于bin的生成速度快于对bin进行算术编码的速度,所以可将二值化后的bin与相应的上下文模型索引号发送至FIFO(First Input First Output)缓存器中进行缓存。当对待编码符号进行编码时,可通过上下文储存单元自FIFO中查找相应的待编码符号、其上下文模型索引号和与该待编码符号相邻的已编码符号。具体地,可设置两个上下文储存单元,以适用于AVS3的各种编码方式(如regularW编码方式)。
步骤S2,获取已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间。
其中,编码符号对应的概率区间可理解为该编码符号在当前编码位的概率区间,最大概率符号区间可理解为在当前编码位最可能符号的概率区间(即最宽的子区间),可用MPS表示,最大概率符号区间的值可用rMPS表示;最小概率符号区间可理解为在当前编码位最不可能符号的概率区间(即最窄的子区间),可用LPS表示,最小概率符号区间的值可用rLPS表示。
需要说明的是,上述获取的参数(已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间)只是解决本申请技术问题的必要参数,本实施例并不以此为限,可以根据需要获取熵编码过程中所需的各种参数。
步骤S3,根据已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,确定待编码符号的概率区间。
在本实施例中,采用比特输出,通常需要多个符号位表示概率区间,则在进行range计算时,尤其在当前待编码符号不是当前编码位最可能符号时(若是,则其概率区间值可直接等于最大概率符号区间的值),往往需要进行多个符号位的计算,所以计算较为复杂。且在当前待编码符号不是当前编码位最可能符号时,若采用AVS3中规定的range计算公式(1)rlps_tp=(range<<sflag)-rMPS(其中,“<<”为位移符号;sflag表示标志位,rMPS小于256时sflag等于1,rMPS大于或等于256时sflag等于0),则计算过程存在一定的冗余,将导致算术编码的关键路径长度增加,为解决该技术问题,本实施例对range计算方式进行改进,将上述根据已编码符号的概率区间和最大概率符号区间值确定当前待编码符号的概率区间的方式,简化为据已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,确定待编码符号的概率区间,如此,仅采用已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,有效简化了range计算过程,能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率;且由于最小概率符号区间较窄,后面位数的值很小,通常对整体计算当前待编码符号的概率区间影响不大,故本实施例改进后的range计算公式即提高了高级熵编码的编码速度,也保证了编码的准确性。
于本实施例另一具体实施方式中,如上,待编码符号和已编码符号均为二进制符号;步骤S3可以包括以下处理:对最小概率符号区间前预设数目位的值与已编码符号的概率区间的值求和,根据求和结果确定为待编码符号的概率区间。
为进一步保证编码准确性,在确定上述预设数目时,本实施例对range计算方式进行进一步研究,研究发现,利用按位或的特点,range-rLPS后与8个1按位或,即为range-rLPS后再将后8位置为1,即可转换为range–rLPS小于256时,range-rLPS的值加上256,range–rLPS大于或等于256时保持原来的值,根据该原理,对上述公式(1)进行优化,优化过程如下:
rlps_tp=(range<<sflag)-rMPS(为AVS3标准中提供的计算公式);
=range<<sflag–(range-rLPS)|0x100(将rMPS的值代入,rMPS=range-rLPS);
=range<<sflag–(range-rLPS+((range–rLPS)<0x100)?0x100:0)(利用按位或的特点,range-rLPS后与8个1按位或,即为range-rLPS后再将后8位置为1,即可转换为range–rLPS小于256时,range-rLPS的值加上256,range–rLPS大于256时保持原来的值);
=range<<sflag–range+rLPS-sflag?0x100:0((range–rLPS)<0x100即为sflag);
=rLPS+sflag?range:0-sflag?0x100:0(合并同类项,sflag的值只可能为1或0);
=rLPS+sflag?(range-0x100):0(合并同类项);
=rLPS+sflag?range[7:0]:0(去除range的后8位,只提取range的前1到8位的值)。
其中,0x100表示十进制的256,“<”表示小于符号,“|”表示按位或符号,“<<”表示位移符号。get_shift为计算rLPS_tp需要位移的位数。
鉴于上述发现,本实施例将最小概率符号区间前预设数目位的值与已编码符号的概率区间的值的和确定为待编码符号的概率区间,进一步保证了编码的准确性,又尽可能去除计算过程中的冗余,进一步缩短了关键路径长度。
需要说明的是,采用已编码符号rLPS的前八位计算当前待编码符号的range只是本实施例的较佳实施方式,本实施例并不以八位为限,只要能根据已编码符号rLPS的前预设数目位和range计算当前待编码符号的range即可,例如,在对当前待编码符号的range计算结果影响可忽略的基础上,也可采用已编码符号rLPS的前七位、九位、十位等,计算当前待编码符号的range。
于本实施例另一具体实施方式中,由于旁路编码的不需要更新上下文模型索引的特殊性,旁路编码的计算是不影响常规编码的上下文模型索引号获取以及range的计算的,所以,如图2所示,本实施例在bin产生之后将可以将旁路编码符号与常规编码符号分离,分别单独使用一套电路并行计算。即,上述步骤S3可以包括以下处理:根据已编码符号的概率区间和最小概率符号区间,按照待编码符号的编码方式,分别采用常规编码和旁路编码并行计算所有待编码符号的概率区间。
进一步地,鉴于上述采用常规编码和旁路编码并行计算所有待编码符号的概率区间,根据接收到的所有语法元素确定与待编码符号相邻的已编码符号之前,还可以包括以下处理:基于预设的音视频编码标准,按照编码方式将所有待编码符号划分为常规编码符号和旁路编码符号;常规编码符号在每次编码时根据更新后的上下文模型索引确定符号对应的概率值,所有旁路编码符号每次编码对应的概率值相同。
如图2所示,可采用bin分类器对FIFO缓存器缓存的二值化后的bin符号进行分类,按照按照编码方式分为常规编码符号和旁路编码符号,以便于后续分别采用常规编码和旁路编码并行计算所有待编码符号的概率区间。
于本实施例另一具体实施方式中,鉴于上述改进,该步骤S3也可以包括以下处理:每个时钟周期内,根据已编码符号的概率区间和最小概率符号区间,串行确定预设数目个待编码符号的概率区间。
在本实施例中,对上述range的计算进行改进,优化算术编码的关键路径后,可以更容易的将多个bin进行串联处理而不会影响最高运行频率,基于最高运行频率和编码效率两方面考虑,本实施例设置在一个时钟周期中进行4个bin的计算,以实现最高运行频率和编码效率的最优化。
步骤S4,根据已编码符号的概率区间和最大概率符号区间,确定待编码符号的概率区间起始值。
在range计算完成,可基于AVS3中规定的区间起始值low的计算方法,根据已编码符号的概率区间和最大概率符号区间,确定待编码符号的概率区间起始值。本实施例对该具体方法不做具体限定,只要能用于计算区间起始值low即可。
于本实施例另一具体实施方式中,由于计算区间起始值low时无需采用常规编码和旁路编码并行计算,所以,该步骤S4可以包括以下处理:将确定了概率区间的所有待编码符号混合,并根据待编码述符号的概率区间和和最大概率符号区间,依次计算待编码述符号的概率区间起始值。
在本实施例中,在确定range后,low的计算相对简单,为节省资源,可将确定了概率区间的所有待编码符号混合,并根据待编码述符号的概率区间和和最大概率符号区间,依次串行计算每个符号的low,并依次输出,可以比特流的形式进行存储,以供后续调用。
本实施例提供的熵编码方法,对range计算方式进行改进,将现有的根据已编码符号的概率区间和最大概率符号区间值确定当前待编码符号的概率区间的方式,简化为据已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,确定待编码符号的概率区间,如此,在确定与待编码符号相邻的已编码符号,并获取已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间之后,可仅采用已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,有效简化了range计算过程,能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率;且由于最小概率符号区间较窄,后面位数的值很小,通常对整体计算当前待编码符号的概率区间影响不大,故本实施例改进后的range计算公式即提高了高级熵编码的编码速度,也保证了编码的准确性。
基于上述熵编码方法相同的思想,本实施例还提供一种熵编码装置,如图3所示,装置包括:
第一确定模块,用于根据接收到的所有语法元素和预设的音视频编码标准,确定与待编码符号相邻的已编码符号;
获取模块,用于获取已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间;
第二确定模块,用于根据已编码符号的概率区间和最小概率符号区间,确定待编码符号的概率区间;
第三确定模块,用于根据已编码符号的概率区间和最大概率符号区间,确定待编码符号的概率区间起始值。
本实施例提供的熵编码装置,对第二确定模块进行改进,将其现有的根据已编码符号的概率区间和最大概率符号区间值确定当前待编码符号的概率区间的方式,简化为据已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,确定待编码符号的概率区间,如此,在第一确定模块确定与待编码符号相邻的已编码符号,获取模块获取已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间之后,第二确定模块可仅采用已编码符号的概率区间和已编码符号的最小概率符号区间前预设数目位的值,有效简化了range计算过程,能够缩短高级熵编码的关键路径,极大地提高了高级熵编码器的吞吐率;且由于最小概率符号区间较窄,后面位数的值很小,通常对整体计算当前待编码符号的概率区间影响不大,故本实施例改进后的range计算公式即提高了高级熵编码的编码速度,也保证了编码的准确性。
于本实施例一具体实施方式中,第一确定模块可以包括语法分析单元、二值化单元及两个上下文储存单元,其中,语法分析单元用于对接收到的语法元素进行分析,得到语法元素的组成结构。二值化单元用于对分析好的语法元素进行二值化处理,得到所有待编码符号。两个上下文储存单元用于基于预设的音视频编码标准规定的上下文模型索引集,依次确定每个待编码符号的上下文模型索引号。
具体地,如图4所示,该熵编码装置还可以包括语法元素缓存单元、专门的上下文模型索引计算单元及上下文模型索引缓存单元,语法元素缓存单元可以对分析好的语法元素进行缓存,上下文模型索引计算单元可以先对二值化后的待编码符号的初始概率值进行计算,确定各个待编码符号的上下文模型索引号,然后可以将计算号的待编码符号及其对应的上下文模型索引号存入上下文模型索引缓存单元(可以但不限于FIFO缓存器)中,如此,当需要进行熵编码时,可以通过两个上下文储存单元直接从上下文模型索引缓存单元查找确定相应符号的上下文模型索引号即可。还可以设置上下文模型索引分析模块,用于对FIFO缓存器进行分析(可能有多个FIFO缓存器,分析各个符号的存储位置),并对上下文储存单元下发指令,使上下文储存单元在相应缓存器中查找相应符号的上下文模型索引号,最后将编码后的比特流输出至设备(可以是下述任意电子设备)的存储模块(如图4中的DDR)。
于本实施例另一具体实施方式中,待编码符号和已编码符号均为二进制符号,第二确定模块具体用于:
对最小概率符号区间前预设数目位的值与已编码符号的概率区间的值求和,根据求和结果确定为待编码符号的概率区间。
于本实施例另一具体实施方式中,该熵编码装置还可以包括分类器,分类器用于:
基于预设的音视频编码标准,按照编码方式将所有待编码符号划分为常规编码符号和旁路编码符号;常规编码符号在每次编码时根据更新后的上下文模型索引确定符号对应的概率值,所有旁路编码符号每次编码对应的概率值相同。
于本实施例另一具体实施方式中,第二确定模块具体用于:
根据已编码符号的概率区间和最小概率符号区间,按照待编码符号的编码方式,分别采用常规编码和旁路编码并行计算所有待编码符号的概率区间。
于本实施例另一具体实施方式中,第三确定模块具体用于:
根据已编码符号的概率区间和最大概率符号区间,确定待编码符号的概率区间起始值,包括:
将确定了概率区间的所有待编码符号混合,并根据待编码述符号的概率区间和和最大概率符号区间,依次计算待编码述符号的概率区间起始值。
于本实施例另一具体实施方式中,第二确定模块具体用于:
每个时钟周期内,根据已编码符号的概率区间和最小概率符号区间,串行确定预设数目个待编码符号的概率区间。
另外,该熵编码装置还可以包括控制模块,该控制模块可向上述第一确定模块、获取模块、第二确定模块及第三确定模块及其各个子单元发送指令,控制各模块和单元执行上述各步骤,以完成该熵编码方法。
基于上述熵编码方法相同的思想,本实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器运行计算机程序以实现上述任一实施方式的方法。
其中,电子设备可以但不限于音视频编码器、机顶盒、电视机等。
本实施例提供的电子设备,基于上述熵编码方法相同的思想,至少可以实现熵编码方法的有益效果,在此不再赘述。
基于上述熵编码方法相同的思想,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行实现上述任一实施方式的方法。
本实施例提供的计算机可读存储介质,基于上述熵编码方法相同的思想,至少可以实现熵编码方法的有益效果,在此不再赘述。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种熵编码方法,其特征在于,所述方法包括:
从待编码的语法元素中确定与待编码符号相邻的已编码符号;
获取所述已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间;
根据所述已编码符号的概率区间和所述已编码符号的最小概率符号区间前预设数目位的值,确定所述待编码符号的概率区间;
根据所述已编码符号的概率区间和最大概率符号区间,确定所述待编码符号的概率区间起始值。
2.根据权利要求1所述的方法,其特征在于,所述待编码符号和所述已编码符号均为二进制符号;
所述根据所述已编码符号的概率区间和所述已编码符号的最小概率符号区间前预设数目位的值,确定所述待编码符号的概率区间,包括:
对所述最小概率符号区间前预设数目位的值与所述已编码符号的概率区间的值求和,根据所述求和结果确定为所述待编码符号的概率区间。
3.根据权利要求1所述的方法,其特征在于,所述根据接收到的所有语法元素确定与待编码符号相邻的已编码符号之前,还包括:
基于预设的音视频编码标准,按照编码方式将所有待编码符号划分为常规编码符号和旁路编码符号;所述常规编码符号在每次编码时根据更新后的上下文模型索引确定符号对应的概率值,所有所述旁路编码符号每次编码对应的概率值相同。
4.根据权利要求3所述的方法,其特征在于,所述根据所述已编码符号的概率区间和最小概率符号区间,确定所述待编码符号的概率区间,包括:
根据所述已编码符号的概率区间和最小概率符号区间,按照待编码符号的编码方式,分别采用常规编码和旁路编码并行计算所有待编码符号的概率区间。
5.根据权利要求3所述的方法,其特征在于,所述根据所述已编码符号的概率区间和最大概率符号区间,确定所述待编码符号的概率区间起始值,包括:
将确定了所述概率区间的所有待编码符号混合,并根据待编码述符号的概率区间和和最大概率符号区间,依次计算待编码述符号的概率区间起始值。
6.根据权利要求4所述的方法,其特征在于,所述根据接收到的所有语法元素和预设的音视频编码标准,确定与待编码符号相邻的已编码符号,包括:
对接收到的语法元素进行分析和二值化处理,得到所有待编码符号;
基于预设的音视频编码标准规定的上下文模型索引集,采用至少两个上下文储存单元,依次确定每个待编码符号的上下文模型索引号。
7.根据权利要求1所述的方法,其特征在于,所述根据所述已编码符号的概率区间和最小概率符号区间,确定所述待编码符号的概率区间,包括:
每个时钟周期内,根据所述已编码符号的概率区间和最小概率符号区间,串行确定预设数目个待编码符号的概率区间。
8.一种熵编码装置,其特征在于,所述装置包括:
第一确定模块,用于从待编码的语法元素中确定与待编码符号相邻的已编码符号;
获取模块,用于获取所述已编码符号对应的概率区间、最大概率符号区间和最小概率符号区间;
第二确定模块,用于根据所述已编码符号的概率区间和最小概率符号区间,确定所述待编码符号的概率区间;
第三确定模块,用于根据所述已编码符号的概率区间和最大概率符号区间,确定所述待编码符号的概率区间起始值。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110594042.2A CN113489979A (zh) | 2021-05-28 | 2021-05-28 | 熵编码方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110594042.2A CN113489979A (zh) | 2021-05-28 | 2021-05-28 | 熵编码方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113489979A true CN113489979A (zh) | 2021-10-08 |
Family
ID=77933558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110594042.2A Pending CN113489979A (zh) | 2021-05-28 | 2021-05-28 | 熵编码方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489979A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103733622A (zh) * | 2011-06-16 | 2014-04-16 | 弗劳恩霍夫应用研究促进协会 | 熵编码中的上下文初始化 |
US20150016542A1 (en) * | 2013-07-11 | 2015-01-15 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
CN107667530A (zh) * | 2015-05-29 | 2018-02-06 | 高通股份有限公司 | 高级算术译码器 |
US20180192053A1 (en) * | 2017-01-03 | 2018-07-05 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Architecture flexible binary arithmetic coding system |
CN109450596A (zh) * | 2018-11-12 | 2019-03-08 | 湖南瑞利德信息科技有限公司 | 编码方法、解码方法、编码设备、解码设备、存储介质及终端 |
CN110291793A (zh) * | 2017-01-06 | 2019-09-27 | 联发科技股份有限公司 | 上下文自适应二进制算术编解码中范围推导的方法和装置 |
CN110915213A (zh) * | 2017-07-14 | 2020-03-24 | 联发科技股份有限公司 | 在上下文自适应二元算术编解码中范围获取的方法与装置 |
CN112689960A (zh) * | 2018-07-06 | 2021-04-20 | 弗劳恩霍夫应用研究促进协会 | 算术编码器、算术解码器、视频编码器、视频解码器、编码方法、解码方法和计算机程序 |
-
2021
- 2021-05-28 CN CN202110594042.2A patent/CN113489979A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103733622A (zh) * | 2011-06-16 | 2014-04-16 | 弗劳恩霍夫应用研究促进协会 | 熵编码中的上下文初始化 |
US20150016542A1 (en) * | 2013-07-11 | 2015-01-15 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
CN107667530A (zh) * | 2015-05-29 | 2018-02-06 | 高通股份有限公司 | 高级算术译码器 |
US20180192053A1 (en) * | 2017-01-03 | 2018-07-05 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Architecture flexible binary arithmetic coding system |
CN110291793A (zh) * | 2017-01-06 | 2019-09-27 | 联发科技股份有限公司 | 上下文自适应二进制算术编解码中范围推导的方法和装置 |
CN110915213A (zh) * | 2017-07-14 | 2020-03-24 | 联发科技股份有限公司 | 在上下文自适应二元算术编解码中范围获取的方法与装置 |
CN112689960A (zh) * | 2018-07-06 | 2021-04-20 | 弗劳恩霍夫应用研究促进协会 | 算术编码器、算术解码器、视频编码器、视频解码器、编码方法、解码方法和计算机程序 |
CN109450596A (zh) * | 2018-11-12 | 2019-03-08 | 湖南瑞利德信息科技有限公司 | 编码方法、解码方法、编码设备、解码设备、存储介质及终端 |
Non-Patent Citations (3)
Title |
---|
YU-JEN CHEN;CHEN-HAN TSAI;LIANG-GEE CHEN: "Novel Configurable Architecture of ML-Decomposed Binary Arithmetic Encoder for Multimedia Applications", 《2007 INTERNATIONAL SYMPOSIUM ON VLSI DESIGN, AUTOMATION AND TEST (VLSI-DAT)》 * |
傅晨;郑明魁;陈志峰;施隆照;王炎: "一种高效的CABAC熵编码硬件设计", 《福州大学学报(自然科学版)》, vol. 48, no. 2, pages 174 - 180 * |
高敏: "并行上下文建模算术编码器的研究", 《中国学位论文全文数据库》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8018996B2 (en) | Arithmetic decoding apparatus and method | |
CN109587483B (zh) | 码流提取模块 | |
US8106799B1 (en) | Data compression and decompression using parallel processing | |
JP2006054865A (ja) | パイプライン方式の二進算術デコーディング装置及び方法 | |
CN103067022A (zh) | 一种整型数据无损压缩方法、解压缩方法及装置 | |
US7548175B2 (en) | Encoding apparatus, decoding apparatus, encoding method, computer readable medium storing program thereof, and computer data signal | |
US20100321218A1 (en) | Lossless content encoding | |
Nikara et al. | Multiple-symbol parallel decoding for variable length codes | |
CN111818335B (zh) | 一种熵编码方法和装置、电子设备 | |
CN113489979A (zh) | 熵编码方法、装置、电子设备及存储介质 | |
CN107277553B (zh) | 一种二元算术编码器 | |
US8970405B2 (en) | Method and apparatus for entropy decoding | |
JP2003264703A (ja) | データ符号化装置、データ符号化方法、及びそのプログラム | |
US8537038B1 (en) | Efficient compression method for sorted data representations | |
Ramesh Kumar et al. | Two-symbol FPGA architecture for fast arithmetic encoding in JPEG 2000 | |
CN112422987B (zh) | 适用于avc的熵解码硬件并行计算方法及应用 | |
JP2013009167A (ja) | エントロピー符号化装置、エントロピー復号装置、エントロピー符号化方法及びエントロピー復号方法 | |
JP2003174365A (ja) | 復号化装置及びその方法 | |
KR102296153B1 (ko) | 전용 산술 인코딩 명령 | |
Saidani et al. | Implementation of JPEG 2000 MQ-coder | |
CN112911314B (zh) | 一种熵编码器的编码方法及熵编码器 | |
JP4936574B2 (ja) | 符号化装置及びその制御方法 | |
JPH05241776A (ja) | データ圧縮方式 | |
US7738552B2 (en) | Processing data streams | |
KR102109768B1 (ko) | Uhd 영상의 고속 처리를 위한 cabac 이진 산술 부호화기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |