基于AV1熵编码的上下文概率处理电路、方法及相关装置与流程

文档序号:31213902发布日期:2022-08-20 04:05阅读:89来源:国知局
基于AV1熵编码的上下文概率处理电路、方法及相关装置与流程
基于av1熵编码的上下文概率处理电路、方法及相关装置
技术领域
1.本文件涉及图像编码技术领域,尤其涉及一种基于av1熵编码的上下文概率处理电路、方法及相关装置。


背景技术:

2.熵编码,即编码过程中按熵原理不丢失任何有效信息的编码。常见的熵编码有:香农编码、哈夫曼编码和算术编码。
3.av1是由开放媒体联盟(alliance for open media ,aom)开发的开源视频压缩格式,在目前的编码领域普遍使用。在av1编码标准中,经过前级帧内模式、帧间模式的选择和决策,确定图像的编码结果,之后进入熵编码阶段;熵编码阶段需要确定输入数据中每类编码语法元素的概率分布,然后根据概率分布进行算术编码可以得到最精简的码流。
4.在现有的熵编码阶段,可以通过上下文概率方式来计算、统计各种类型的编码语法元素的概率,其中,概率计算过程中所有编码语法元素需顺序执行,这样,当在某个图像下,产生的编码语法元素较多时,计算这些编码语法元素的概率的耗时较大,处理速度较慢。


技术实现要素:

5.本说明书一个或多个实施例的目的是提供一种基于av1熵编码中上下文概率处理电路、方法及相关装置,以通过在上下文概率处理电路中添加第二概率处理引擎,以针对编码语法元素中满足预设系数类条件的第二类编码语法元素进行概率计算,从而,在上下文概率处理电路中实现了编码语法元素的并行处理,提升概率计算速度,进而提升编码效率。
6.为解决上述技术问题,本说明书一个或多个实施例是这样实现的:第一方面,提出了一种基于av1熵编码的上下文概率处理电路,包括:用于存储目标图像不同分块的前级编码结果的编码结果存储器,控制状态机,第一缓存器和第二缓存器,第一概率处理引擎,第二概率处理引擎,以及第一概率存储器和第二概率存储器;其中,所述控制状态机,用于从所述编码结果存储器读取每个分块的前级编码结果,根据前级编码结果确定的编码标准生成顺序排列的多个编码语法元素,并依次判断编码语法元素是否满足预设系数类条件,如果不满足,则作为第一类编码语法元素发送至第一缓存器进行缓存,如果满足,则作为第二类编码语法元素发送至第二缓存器进行缓存;所述第一概率处理引擎,用于从所述第一缓存器中依次提取缓存的第一类编码语法元素,并顺序更新第一类编码语法元素在第一概率存储器内的概率;所述第二概率处理引擎,用于从所述第二缓存器中依次提取缓存的第二类编码语法元素,并顺序更新第二类编码语法元素在第二概率存储器内的概率。
7.第二方面,提出了一种基于av1熵编码的上下文概率处理方法,应用于第一方面所述的基于av1熵编码的上下文概率处理电路;所述方法包括:控制状态机从编码结果存储器读取每个分块的前级编码结果,根据前级编码结果
确定的编码标准生成顺序排列的多个编码语法元素,并依次判断编码语法元素是否满足预设系数类条件,如果不满足,则作为第一类编码语法元素发送至第一缓存器进行缓存,如果满足,则作为第二类编码语法元素发送至第二缓存器进行缓存;第一概率处理引擎从所述第一缓存器中依次提取缓存的第一类编码语法元素,并顺序更新第一类编码语法元素在第一概率存储器内的概率;第二概率处理引擎从所述第二缓存器中依次提取缓存的第二类编码语法元素,并顺序更新第二类编码语法元素在第二概率存储器内的概率。
8.第三方面,提出了一种图像编码装置,包括:第一方面所述的基于av1熵编码的上下文概率处理电路。
9.第四方面,提出了一种芯片,包括第一方面所述的基于av1熵编码的上下文概率处理电路,或,第三方面所述的图像编码装置。
10.由以上本说明书一个或多个实施例提供的技术方案可见,通过在上下文概率处理电路中添加第二概率处理引擎,以针对编码语法元素中满足预设系数类条件的第二类编码语法元素进行概率计算,从而,在上下文概率处理电路中实现了编码语法元素的并行处理,又可以通过第二概率处理引擎内部的连续地址加速引擎对概率速度趋于稳定的第二类编码语法元素进行连续处理,进而,在并行处理的基础上又提升了其中一路的处理速度,这样,可以进一步提升整个上下文概率处理电路的处理速度,提升编码效率。而且,第二概率处理引擎将第二类编码语法元素的概率统一存储在分布式的第二概率存储器上,不需要与超过4个符号的其它编码语法元素的概率共同存储在一个存储器中,避免了存储空间的浪费,合理利用存储空间,且方便快速存取。
附图说明
11.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1是本说明书实施例提供的一种基于av1熵编码的上下文概率处理电路的结构示意图;图2是本说明书的一个实施例提供的第二概率处理引擎所在支路的结构示意图;图3是本说明书的一个实施例提供的第二概率处理引擎所在支路的电路结构示意图;图4是本说明书实施例提供的一种基于av1熵编码的上下文概率处理方法的步骤示意图之一;图5是本说明书实施例提供的一种基于av1熵编码的上下文概率处理方法步骤示意图之二;图6是本说明书实施例可以应用于的通用计算机体系结构示意图。
具体实施方式
13.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明
书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的一个或多个实施例只是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
14.图像编码也称图像压缩,是指在满足一定质量(例如信噪比的要求或主观评价得分等)的条件下,以较少比特数表示图像或图像中所包含信息的技术。av1是图像编码的一种编码标准,采用多符号熵编码,可以增加比特的并行度,最多支持16个符号,可同时编码多个比特。
15.上下文概率处理电路可以包括存储目标图像不同分块的前级决策及量化后信息的编码结果存储器(ram)、控制状态机、先进先出缓存器(fifo)、第一概率处理引擎以及第一概率存储器(cdf ram);前级模块会针对目标图像进行分块,并对不同分块采用设定的编码标准进行编码处理,得到前级编码结果。前级编码结果中的决策信息和量化后信息存储在ram中,在本模块开始信号的触发下,控制状态机从ram中读取数据,分析各个分块的决策出来的结果,根据编码标准按照既定顺序产生编码语法元素;之后,将产生的编码语法元素存储在fifo中;第一概率处理引擎从fifo中读取编码语法元素,根据编码语法元素的类型从cdf ram中读取对应的概率,计算产生的新概率,生成新数据写入到cdf ram中。如果在目标图像下产生的编码语法元素过多,而对同一类型编码语法元素而言要求顺序执行,会影响到整体编码的处理速度,且计算逻辑较为复杂。
16.为此,本说明书实施例提出了一种基于av1熵编码的上下文概率处理电路,通过在原有上下文概率处理电路中增加用于对满足预设系数类条件的编码语法元素进行单独处理的系数处理引擎(也称为第二概率处理引擎),可以与原有第一概率处理引擎并行处理不同类型的编码语法元素,从而提升概率计算速度,进而提升编码效率。
17.参照图1所示,为本说明书实施例提供的一种基于av1熵编码的上下文概率处理电路的结构示意图,该上下文概率处理电路可以包括:用于存储目标图像不同分块的前级编码结果的编码结果存储器102,控制状态机104,第一缓存器106和第二缓存器108,第一概率处理引擎110,第二概率处理引擎112,以及第一概率存储器114和第二概率存储器116。
18.应理解,在本说明书实施例中,常用的基于av1熵编码中上下文概率处理电路可以是在现场可编程逻辑门阵列(field programmable gate array,fpga)中实现,其中,算术编码可在 cpu 实现或在 fpga 中实现,在此不做限定。需要说明的是,如果算术编码在fpga中实现,与上下文概率计算存在一定资源抢占的问题,会对编码速度产生一定影响。由此,针对算术编码在fpga中实现的情况,尤其可以使用本说明书所提供的上下文概率处理方案来缓解对编码速度产生的影响。
19.编码结果存储器102中存储的编码结果中包含与每个分块的像素信息相关的系数信息,以及分块与其它分块之间的块间信息。其中,系数信息的种类较多,所以,产生的编码语法元素的种类以及数量较多。
20.所述控制状态机104从所述编码结果存储器102读取每个分块的编码结果,根据编码结果确定的编码标准生成顺序(参照图1中列举的s1、s2、s3等顺序标记)排列的多个编码语法元素,并依次判断编码语法元素是否满足预设系数类条件,如果不满足,则作为第一类编码语法元素发送至第一缓存器106进行缓存,如果满足,则作为第二类编码语法元素发送
至第二缓存器108进行缓存。
21.控制状态机104可以读取每个分块的系数信息以及块间信息,从这些决策信息以及量化信息中分析出编码标准,并基于编码标准以及决策信息以及量化信息内容,顺序生成多个编码语法元素。
22.在本说明书实施例中,编码语法元素(syntax elements)是指前级预处理后生成的需要进行熵编码的数据,具体可以包括:coeff_base、coeff_base_eob、coeff_br和dc_sign等,其中,coeff_base表示系数基础级; coeff_base_eob是一个语法元素,用来计算系数基础级coeff_base的最后一个非零系数;coeff_br表示系数增量。
23.对于精细粒度高或者是细节特别多的图像而言,系数信息对应产生的编码语法元素的占比往往会超过一半以上,因此,控制状态机104产生的编码语法元素中系数部分产出的编码语法元素较多,且考虑到这些系数部分产生的编码语法元素所占用的符号有的可能是4个,不足16个,可能会造成存储空间的浪费。为此,本说明书实施例可以通过设置预设系数类条件,将满足不同条件的编码语法元素分别发送到不同的引擎中进行处理,这样,可以实现在同一时刻对不同类型的编码语法元素的并行处理。
24.具体实现时,所述控制状态机104可以依次判断编码语法元素是否属于预设系数类型;所述预设系数类型对应的编码语法元素的占比超过阈值且该预设系数类型对应的编码语法元素采用设定个数符号编码。即预设系数类条件可以是判断编码语法元素是否属于预设系数类型,该预设系数类型对应的编码语法元素同时满足两个条件:占比超过阈值;支持设定个数符号编码。或者,预设系数类条件也可以是:占比超过阈值且支持设定个数符号编码。其中,占比超过阈值可以是占比超过总数一半或其它设定的取值范围;支持设定个数符号编码可以是支持4个符号编码,这样,在存储的时候不需要占用过多存储空间,尤其是将这类编码语法元素统一存储在同一概率存储器内,可以避免与支持16个符号编码的编码语法元素的概率共处一个概率存储器而造成的存储空间浪费的问题。
25.如果编码语法元素满足预设系数类条件,那么,可以将该编码语法元素作为第二类编码语法元素存储至第二缓存器108,反之,如果编码语法元素不满足预设系数类条件,可以将该编码语法元素作为第一类编码语法元素存储至第一缓存器106。这样,可以保证第二缓存器108存储的第二编码语法元素都是满足预设系数类条件的。
26.其实,针对av1熵编码中上下文概率处理电路而言,所得到的编码语法元素大多都是由系数部分产生,而系数部分产生的编码语法元素中,coeff_br这一类编码语法元素的数量是最多的,且该coeff_br所支持的符号编码是4个。所以,一种较佳的实现方案是,将coeff_br这类编码语法元素确定为满足预设系数类条件的第二类编码语法元素,或是确定为预设系数类型的第二类编码语法元素。这样,第二缓存器108缓存的第二编码语法元素的类型是coeff_br,第一缓存器106缓存的第一类编码语法元素的类型是其它,例如,coeff_base、coeff_base_eob和dc_sign等,以及其它非系数部分产生的编码语法元素。
27.在本说明书实施例中,第一缓存器106和第二缓存器108均为先进先出fifo存储器,即存储至第一缓存器106和第二缓存器108中的编码语法元素按照进入时的顺序被提取。
28.所述第一概率处理引擎110从所述第一缓存器106中依次提取缓存的第一类编码语法元素,并顺序更新第一类编码语法元素在第一概率存储器114内的概率。具体实现时,
可以按照现有的统计更新方式,基于提取的第一类编码语法元素,从第一概率存储器114中查找该第一类编码语法元素对应的概率,按照编码标准在已有概率基础上计算新的概率取值,并将新的概率重新存储至第一概率存储器114中该第一类编码语法元素对应的概率地址空间。
29.其实,第一类编码语法元素可以包含多种编码语法元素类型,例如,coeff_base、coeff_base_eob和dc_sign等,且每种编码语法元素下还可以设置有多个元素子项,所以,在第一概率存储器114中,可以存储的是对应每个编码语法元素出现的概率或每个编码语法元素中相应元素子项出现的概率。
30.所述第二概率处理引擎112从所述第二缓存器108中依次提取缓存的第二类编码语法元素,并顺序更新第二类编码语法元素在第二概率存储器116内的概率。其中,第二概率处理引擎112可以按照第一概率处理引擎110的处理方式更新第二类编码语法元素在第二概率存储器116中的概率。
31.在av1编码标准中,可以事先统计各个编码语法元素出现的概率,分类比较,如果某个编码语法元素的概率与其它有差异,会开辟一个地址存储对应的概率;对应到上下文概率处理电路上,就是需要对这个编码语法元素单独统计概率,例如,在第一概率存储器中单独开辟一片存储空间。其实,无论是第一概率存储器还是第二概率存储器,都可以事先输入初始化的概率,即为每个编码语法元素设置一个概率初始值,之后,每收到一次概率更新请求,就为对应该概率更新请求的编码语法元素的概率进行更新。
32.这样,在第一概率处理引擎110处理第一类编码语法元素的同时,第二概率处理引擎112可以处理第二类编码语法元素,实现在同一时钟周期内并行处理编码语法元素的目的,进而,可以提升概率处理速度,提高编码效率。
33.需要说明的是,在本说明书实施例中,第一概率存储器114可以是具有寄存器功能的随机存取存储器,第二概率存储器116可以是分布式存储器lut ram,结构简单,存取更为快速便捷。
34.其实,增设第二概率处理引擎112的目的,并不单单是实现与第一概率处理引擎110并行处理的目的。在第二概率处理引擎112内部,也可以实现提升概率处理速度的目的。
35.对于上下文概率处理电路中的概率处理引擎而言,基本上都是一个时钟周期处理一个编码语法元素的概率更新请求。然而,本说明书的第二概率处理引擎112,可以针对概率速度已经稳定的编码语法元素,支持连续两个相同编码语法元素的概率更新,即可在一个周期内处理两个概率更新请求。
36.参照图2所示,所述第二概率处理引擎112,包括:数据解析电路1122、第三概率处理引擎1124和连续地址加速引擎1126;其中,所述数据解析电路1122判断当前提取的第二类编码语法元素是否支持连续地址加速,如果支持,则将所述第二类编码语法元素发送给所述连续地址加速引擎1126,如果不支持,则将所述第二类编码语法元素送入第三概率处理引擎1124;所述第三概率处理引擎1124顺序更新第二类编码语法元素在第二概率存储器116内的概率;所述连续地址加速引擎1126在一个时钟周期内顺序更新两个第二类编码语法元素在第二概率存储器116内的概率。所述第一概率处理引擎110与所述第三概率处理引擎1124为相同类型引擎,且处理操作以及实现功能相同。
37.所述数据解析电路1122在判断当前提取的第二类编码语法元素是否支持连续地
址加速时,可以判断当前提取的第二类编码语法元素的概率速度是否稳定,且连续两个第二类编码语法元素在第二概率存储器中是否指向同一地址。
38.同理,所述第二类编码语法元素可以包含多个元素子项;其实,在第一类编码语法元素中,有的编码语法元素可以包含多个元素子项,也可以没有。所述数据解析电路1122在判断当前提取的第二类编码语法元素的概率速度是否稳定时,可以统计第二类编码语法元素中多个元素子项分别出现的个数,如果当前提取的第二类编码语法元素对应的元素子项已经达到设定阈值,则确定当前提取的第二类编码语法元素的概率速度稳定。换言之,如果第二类编码语法元素中包含多个元素子项,则可以根据每个元素子项出现的次数,判定该第二类编码语法元素的该元素子项是否已经达到概率速度(也称概率更新速度)稳定。同时,还需要判定该元素子项的前一项或后一项是否在第二概率存储器中具有相同的地址空间,如果两者均满足,即概率速度稳定且具有相同地址空间,那么,可以将该第二类编码语法元素发送至连续地址加速引擎1126进行加速处理。否则,就送入第三概率处理引擎进行串行处理,即一个时钟周期处理一个概率更新请求。
39.所述连续地址加速引擎1126在一个时钟周期内顺序更新两个第二类编码语法元素在第二概率存储器内的概率时,具体用于在一个时钟周期内顺序更新在第二概率存储器中指向同一地址的两个第二类编码语法元素的概率。需要说明的是,之所以设置连续处理概率更新请求的个数为两个,是结合电路复杂程度经过多次试验而定,当连续处理三个概率更新请求时的概率处理速度并未提升太多,反而会由于电路的复杂程度而影响处理速度的提升。
40.参照图3所示,所述连续地址加速引擎包含第一子加速电路cdf0,第二子加速电路cdf1和数据选择器mux;其中,所述第一子加速电路cdf0基于第一连续地址(例如可以是连续地址0)的概率选择一信号,计算得到第一输出结果;所述第二子加速电路cdf1基于第二连续地址(例如可以是连续地址1)的概率选择二信号和所述第一输出结果,计算得到第二输出结果。之后,数据选择器mux根据第二输出结果确定最终概率输出。
[0041] 仍参照图3所示,加速选择(acclerate_en)信号输入mux,该acclerate_en信号用于触发mux开启连续地址加速选择功能,连续地址加速仅支持连续两个同地址的输入,可以一次同时处理两个同地址请求。正常情况下,普通信号不支持加速,流向第三概率处理引擎common engine支路,根据上方的acclerate_en信号做选通信号到mux,选择common engine的支路。在加速条件下,可以同时支持两个连续地址,这样就有两个子加速电路,第一个地址的子加速电路cdf0,第二个子加速电路cdf1;同理,输入也有两个,为第一个子加速电路的概率选择一信号(假设加速地址概率存储总成员为4个,输入的概率为其中的一个,针对该输入修改整体的概率),第二个子加速电路的概率选择二信号(对应到图上连续地址0的概率选择/连续地址1的概率选择)。其实,两个子加速电路 cdf0和cdf1可以是相同的电路单元。
[0042]
每个子加速电路其实都是计算公式的电路形态,其中,sub 是减法(上方数值减下方数值),add是相加(两个支路的数值相加),right_shift_7是右移(算式上是 data 》》 7),整体意思就是sel信号输入触发mux,32768作为一个当前的数或随机数,减去输入信号,之后右移7位,再加上输入信号得到相加结果;输入信号右移7位,再与输入信号做差得到相减结果;最后,mux对相加结果和相减结果进行选择。
[0043]
可选地,在本说明书实施例中,当编码语法元素的出现次数达到32次时,则可以确定该编码语法元素的概率更新速度达到稳定,可以决策是否能够使用连续地址加速引擎1126来对该编码语法元素进行概率更新加速处理。应理解,此处的编码语法元素的出现次数32次,可以理解为是一种近似理想的稳定状态,其实,当编码技术进一步发展或进步时,达到稳定的概率更新速度所使用的出现次数可以不是32,例如,30或29等,本说明书并不对此进行限定。
[0044]
由此,在第一概率处理引擎与第二概率处理引擎并行处理以提升概率处理速度的基础上,又可以通过第二概率处理引擎内部的连续地址加速引擎对概率速度趋于稳定的第二类编码语法元素进行连续处理,进而,在并行处理的基础上又提升了其中一路的处理速度,这样,可以进一步提升整个上下文概率处理电路的处理速度,提升编码效率。而且,第二概率处理引擎将第二类编码语法元素的概率统一存储在分布式的第二概率存储器上,不需要与超过4个符号的其它编码语法元素的概率共同存储在一个存储器中,避免了存储空间的浪费,合理利用存储空间,且方便快速存取。
[0045]
参照图4所示,为本说明书实施例提供的一种基于av1熵编码的上下文概率处理方法的步骤示意图,应理解,该方法应用在图1所示的上下文概率处理电路中。结合图1-图3,所述上下文概率处理方法可以包括以下步骤:步骤402:控制状态机从所述编码结果存储器读取每个分块的前级编码结果,根据前级编码结果确定的编码标准生成顺序排列的多个编码语法元素,并依次判断编码语法元素是否满足预设系数类条件,如果不满足,则作为第一类编码语法元素发送至第一缓存器进行缓存,如果满足,则作为第二类编码语法元素发送至第二缓存器进行缓存;步骤404:第一概率处理引擎从所述第一缓存器中依次提取缓存的第一类编码语法元素,并顺序更新第一类编码语法元素在第一概率存储器内的概率;步骤406:第二概率处理引擎从所述第二缓存器中依次提取缓存的第二类编码语法元素,并顺序更新第二类编码语法元素在第二概率存储器内的概率。
[0046]
需要说明的是,步骤404和步骤406的顺序并不做限定,可以同时进行。
[0047]
可选地,控制状态机依次判断编码语法元素是否满足预设系数类条件,包括:依次判断编码语法元素是否属于预设系数类型;所述预设系数类型对应的编码语法元素的占比超过阈值且该预设系数类型对应的编码语法元素采用设定个数符号并行编码。
[0048]
在本说明书实施例的一种具体实现方式中,第二概率处理引擎顺序更新第二类编码语法元素在第二概率存储器内的概率,包括:数据解析电路判断当前提取的第二类编码语法元素是否支持连续地址加速,如果支持,则将所述第二类编码语法元素发送给所述连续地址加速引擎,如果不支持,则将所述第二类编码语法元素送入第三概率处理引擎;第三概率处理引擎顺序更新第二类编码语法元素在第二概率存储器内的概率;连续地址加速引擎在一个时钟周期内顺序更新两个第二类编码语法元素在第二概率存储器内的概率。
[0049]
在本说明书实施例的再一种具体实现方式中,数据解析电路判断当前提取的第二类编码语法元素是否支持连续地址加速,包括:判断当前提取的第二类编码语法元素的概率速度是否稳定,且连续两个第二类编码语法元素在第二概率存储器中是否指向同一地址。
[0050]
在本说明书实施例的再一种具体实现方式中,所述第二类编码语法元素包含多个元素子项;数据解析电路判断当前提取的第二类编码语法元素的概率速度是否稳定,包括:统计第二类编码语法元素中多个元素子项分别出现的个数,如果当前提取的第二类编码语法元素对应的元素子项已经达到设定阈值,则确定当前提取的第二类编码语法元素的概率速度稳定;所述连续地址加速引擎在一个时钟周期内顺序更新两个第二类编码语法元素在第二概率存储器内的概率,包括:在一个时钟周期内顺序更新在第二概率存储器中指向同一地址的两个第二类编码语法元素的概率。
[0051]
参照图5所示,为本说明书实施例提供的基于av1熵编码的上下文概率处理流程示意图。
[0052]
步骤502:控制状态机从编码结果存储器读取每个分块的前级编码结果,根据前级编码结果确定的编码标准生成顺序排列的多个编码语法元素。
[0053]
步骤504:控制状态机依次判断编码语法元素是否满足预设系数类条件,如果满足,则执行步骤506;如果不满足,则执行步骤508。
[0054]
步骤506;控制状态机将当前编码语法元素作为第二类编码语法元素发送至第二缓存器进行缓存。
[0055]
步骤508:控制状态机将当前编码语法元素作为第一类编码语法元素发送至第一缓存器进行缓存。
[0056]
步骤510:第一概率处理引擎从所述第一缓存器中依次提取缓存的第一类编码语法元素,并顺序更新第一类编码语法元素在第一概率存储器内的概率。
[0057]
应理解,这里的顺序更新,指得是按照从第一缓存器中提取的顺序依次更新。而第一概率处理引擎在更新概率时,是在一个时钟周期内更新一个第一类编码语法元素在第一概率存储器内的概率。
[0058]
步骤512:第二概率处理引擎从所述第二缓存器中依次提取缓存的第二类编码语法元素。
[0059]
步骤514:第二概率处理引擎判断当前提取的第二类编码语法元素的概率速度是否稳定,且连续两个第二类编码语法元素在第二概率存储器中是否指向同一地址。如果判断结果为是,则执行步骤516,否则,执行步骤518。
[0060]
步骤516:第二概率处理引擎将所述第二类编码语法元素发送给所述连续地址加速引擎,连续地址加速引擎在一个时钟周期内顺序更新两个第二类编码语法元素在第二概率存储器内的概率。
[0061]
区别于步骤510中的更新方式,步骤516虽然也是顺序更新,但是连续地址加速引擎是在一个时钟周期内顺序更新两个第二类编码语法元素在第二概率存储器内的概率。具体更新电路可参照图3所示。
[0062]
步骤518:第二概率处理引擎将所述第二类编码语法元素送入第三概率处理引擎,第三概率处理引擎顺序更新第二类编码语法元素在第一概率存储器内的概率。
[0063]
该第三概率处理引擎与第一概率处理引擎的功能类似,都是在一个时钟周期内处理一个编码语法元素在第一概率存储器内的概率,不同在于第三概率处理引擎处理的对象是第二类编码语法元素,而第一概率处理引擎处理的对象是第一类编码语法元素。
[0064]
通过在上下文概率处理电路中添加系数处理引擎,以针对编码语法元素中满足预设系数类条件的编码语法元素进行概率计算,从而,在上下文概率处理电路中实现了编码语法元素的并行处理,又可以通过第二概率处理引擎内部的连续地址加速引擎对概率速度趋于稳定的第二类编码语法元素进行连续处理,进而,在并行处理的基础上又提升了其中一路的处理速度,这样,可以进一步提升整个上下文概率处理电路的处理速度,提升编码效率。而且,第二概率处理引擎将第二类编码语法元素的概率统一存储在分布式的第二概率存储器上,不需要与超过4个符号的其它编码语法元素的概率共同存储在一个存储器中,避免了存储空间的浪费,合理利用存储空间,且方便快速存取。
[0065]
本说明书实施例还提供一种图像编码装置,包括:图1-图3所介绍的基于av1熵编码的上下文概率处理电路,以及与该上下文概率处理电路相连接的其它电路模块。通过该上下文概率处理电路统计更新得到的所属目标图像的各个编码语法元素的概率分布,进行算术编码得到最精简的码流,从而,实现对目标图像的编码。
[0066]
本说明书实施例还提供一种芯片,包括图1-图3所介绍的基于av1熵编码的上下文概率处理电路,或者,上述图像编码装置。
[0067]
由上述可知,本说明书实施例提供的基于av1熵编码的上下文概率处理电路可以应用于包括图像编码装置、芯片的任意电子设备中。电子设备可以是例如数据中心数量庞大的云服务器,还可以是日常生活中使用的各类电子设备。 图6示出了本说明书实施例可以应用于的通用计算机体系结构。如图6所示,计算机系统600可以包括一个或多个处理器602,以及存储器604。在一些实施例中,上述基于av1熵编码的上下文概率处理电路可用在该计算机体系结构以提供编码服务,在另一些实施例中,可直接使用片上系统作为本实施例中的处理器602。 计算机系统600中的存储器604可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器602提供的数据(例如为运算结果),也可以用于实现处理器602与外部存储设备606(或称为辅助存储器或外部存储器)之间的数据交换。 在一些情形下,处理器602可能需要访问存储器604,以获取存储器604中的数据或对存储器604中的数据进行修改。 基于此,处理器602可以包括指令执行单元6022、内存管理单元6024等部分。此外,计算机系统600还可以包括存显示设备608、音频设备610、鼠标/键盘612等输入/输出设备。显示设备608例如经相应的显卡与总线耦合,用于根据总线提供的显示信号进行显示。 计算机系统600通常还包括通信设备614,因此可以通过各种方式与网络或其他设备通信。不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器602之内或独立于处理器602。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0068]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同
替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1