CN101005287A - 提高算术编码速度的方法、系统及编码装置 - Google Patents
提高算术编码速度的方法、系统及编码装置 Download PDFInfo
- Publication number
- CN101005287A CN101005287A CN 200710002698 CN200710002698A CN101005287A CN 101005287 A CN101005287 A CN 101005287A CN 200710002698 CN200710002698 CN 200710002698 CN 200710002698 A CN200710002698 A CN 200710002698A CN 101005287 A CN101005287 A CN 101005287A
- Authority
- CN
- China
- Prior art keywords
- bin
- probability space
- outcome
- current
- value
- 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 94
- 230000000052 comparative effect Effects 0.000 claims description 9
- 150000001875 compounds Chemical class 0.000 claims description 5
- 238000010606 normalization Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Abstract
本发明公开了一种提高算术编码速度的方法,包括:预测与当前二进制值bin对应的下一个bin的初始概率空间的预测结果,该方法还包括以下步骤:更新当前bin的概率空间,得到当前bin的最终概率空间;根据预测的下一个bin的初始概率空间,更新下一个bin的最终概率空间,得到该下一个bin的最终概率空间。本发明还基于上述方法公开了一种提高算术编码速度的系统及编码装置。利用本发明公开的提高算术编码速度的方法及系统,均可在能够确定预测结果准确的情况下,在更新1个bin的概率空间所需要花费的标准时钟周期T内,可以做到更新2个甚至多个bin的概率空间,提高CABAC编码的速度。
Description
技术领域
本发明涉及熵编码技术领域,尤其涉及一种提高算术编码速度的方法、系统及编码装置。
背景技术
H.264标准采用基于上下文的自适应二进制算术编码(CABAC),实现编码的高度自适应性和高压缩率。CABAC以片(slice)为单位对输入比特流进行编解码处理,对一个片所包含的头信息和残差数据采用相应的建模方式,达到最大限度的冗余压缩。
在对一个二进制值进行CABAC编码时,称该二进制值为bin。CABAC在编码过程中,根据当前bin及其概率特性,更新当前bin的概率空间,并将当前bin的最终概率空间作为下一个bin的初始概率空间,继续更新下一个bin的概率空间,进而改变全局概率空间,并产生相应的码流。
图1是H.264标准中定义的编码过程示意图。其中,更新bin的概率空间的过程,简称为更新过程,包括:归一化前的处理过程和归一化处理过程。其中,
归一化前的处理过程利用当前bin、当前bin的概率模型值以及当前bin的初始概率空间,根据H.264给出的算法算出归一化前当前bin的概率空间。概率空间由下限(codIlow)和大小长度(codIrange)组成的二维空间来描述。
归一化处理过程依据H.264规定的算法,对上述归一化前的处理过程得出的归一化前当前bin的概率空间做进一步更新处理,这一更新处理过程内嵌一个对归一化前当前bin的概率空间的codIlow和codIrange进行循环处理,以得到当前bin的最终概率空间的过程。图2是H.264标准给出的归一化处理过程中的循环处理流程图。由于该图2对应的流程为公知技术,在此不再详细描述。所需要说明的是:图2中的循环处理过程至多需要经历7次。
归一化处理过程是CABAC编码的核心过程,这一处理过程所能达到的处理速度将大大影响整个编码速度。在具体实现时,可采用一套与图1所示编码过程对应的电路来实现这一过程,并且依据H.264标准,这套电路可做到在一个时钟周期内完成对一个bin的概率空间的更新过程。
为进一步提高编码速度,现有技术考虑在一个时钟周期内完成对2个或2个以上bin的概率空间的更新过程。图3是现有技术一个时钟周期内更新2个bin的概率空间的示意图。具体实现时,现有技术将图3所示更新过程用组合逻辑电路来实现,该电路申级联两套与图1对应的电路,由第一套电路实现对第一个bin的概率空间的A更新过程;由第二套电路实现对第二个bin的概率空间的B更新过程。
图3所示A+B更新过程的具体实现相比较图1所示更新过程的具体实现,能够提高编码速度,原因在于:在具体实现时,编码速度还受到实现编码的电路时延的影响。在具体实现时,图1所示更新过程每得到1个bin的概率空间更新结果,就需要将该更新结果寄存一次,寄存过程所产生的电路时延对整个电路工作频率的影响较大,并可能造成时延浪费;图3所示更新过程可以将A更新过程得到的第一个bin的概率空间的更新结果直接送入B更新过程,并只需要寄存B更新过程结束后得到的第二个bin的概率空间的更新结果,也就是说,图3所示更新过程每得到2个bin的概率空间更新结果才寄存一次,平均更新1个bin的概率空间所需要的时间相对图1所示更新过程更新1个bin所需要的时间短,因此,图3所示更新过程对应的编码速度较快。
由于上述归一化过程可能需要经历7个循环过程,因此,图3所示更新过程在具体实现时,每套电路中的可能经历的电路路径会较长;若两套甚至多套这样的电路相级联,那么整个更新过程所经历的电路路径将更长。因此,图3所示更新过程在具体实现时,对2个bin编码所经历的一个时钟周期,往往大于图1所示更新过程在具体实现时,对1个bin编码所经历的一个时钟周期。若将与图1对应的电路更新1个bin的概率空间所经历的一个时钟周期设定为标准时钟周期T,那么与图3对应的电路更新2个bin的概率空间所经历的一个时钟周期通常在T与2T之间。
发明内容
有鉴于此,本发明的第一个目的在于:提供一种提高算术编码速度的方法,提高CABAC编码的速度。
本发明的第二个目的在于:提供一种编码装置,提高CABAC编码的速度。
本发明的第三个目的在于:提供一种提高算术编码速度的系统,提高CABAC编码的速度。
本发明的第一个目的通过以下技术方案实现:
本发明提供一种提高算术编码速度的方法,预测与当前二进制值bin对应的下一个bin的初始概率空间的预测结果,该方法包括:
更新当前bin的概率空间,得出当前bin的最终概率空间,利用所述预测结果,更新所述下一个bin的概率空间,得出下一个bin的最终概率空间。
优选地,该方法进一步包括:将所述当前bin的最终概率空间与所述预测结果进行比较,若两者相同,则确定所述下一个bin的最终概率空间有效。
优选地,所述利用所述预测结果,更新所述下一个bin的概率空间,得出下一个bin的最终概率空间为:在所述更新当前bin的概率空间的同时,利用所述预测结果,更新所述下一个bin的概率空间。
优选地,预测与当前bin对应的下一个bin的初始概率空间的预测结果的方法为:
根据bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值;
从所述下一个bin的初始概率空间的可选值中选择一个或一个以上的值,作为所述预测结果。
优选地,所述根据bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值为:
bin的可选值有至少2个;bin的概率模型值的可选值有至少2个;bin的初始概率空间可选值有至少2个;
将bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值组成至少2个bin+该bin的概率模型值+该bin的初始概率空间的组合;
依据H.264标准算法,计算上述每一种组合方式所对应的bin的最终概率空间,得到至少2个bin的最终概率空间,将该至少2个bin的最终概率空间作为下一个bin的初始概率空间的可选值。
优选地,所述预测与当前bin对应的下一个bin的初始概率空间的预测结果为:
根据H.264标准算法,确定该算法的输入端数据与输出端数据之间的函数关系;所述输入端数据为:所述下一个bin之前的一个或多个bin的bin值、bin的概率模型值及bin的初始概率空间;所述输出端数据为:所述下一个bin的最终概率空间;
在已知bin、bin的概率模型值及bin的初始概率空间后,根据该函数关系,得到bin的最终概率空间,将该bin的最终概率空间作为所述预测结果。
本发明的第二个目的通过以下技术方案实现:
本发明提供一种编码装置,包括:预测结果产生单元、第一更新单元、第二更新单元和更新触发单元,其中,
预测结果产生单元,用于接收外部输入的bin的初始概率空间,产生下一个bin的初始概率空间的预测结果,将该预测结果输出;
第一更新单元,用于更新当前bin的概率空间,将得到的当前bin的最终概率空间输出;
第二更新单元,用于接收来自预测结果产生单元的预测结果,利用所述预测结果更新所述下一个bin的概率空间,将得到的下一个bin的最终概率空间输出;
更新触发单元,用于接收外部命令,通知第一更新单元更新当前bin的概率空间,及通知第二更新单元更新下一个bin的概率空间。
优选地,所述装置进一步包括:比较单元和确定单元;
比较单元,用于接收来自第一更新单元的所述当前bin的最终概率空间,和来自预测结果产生单元的所述预测结果,比较所述当前bin的最终概率空间与所述预测结果是否相同,将比较结果输出;
确定单元,用于接收来自比较单元的所述比较结果,若比较结果为当前bin的最终概率空间与预测结果相同,则通知第二更新单元将所述下一个bin的最终概率空间输出;若不相同,则通知第一更新单元将所述当前bin的最终概率空间输出。
本发明的第三个目的通过以下技术方案实现:
本发明提供一种提高算术编码速度的系统,包括:预测单元和编码装置,其中,
预测单元,用于预测得出与当前bin对应的下一个bin的初始概率空间的预测结果,将所述预测结果输出;
编码装置,包括:预测结果产生单元、第一更新单元、第二更新单元和更新触发单元;其中,
预测结果产生单元,用于接收外部输入的当前bin的初始概率空间,产生下一个bin的初始概率空间的预测结果,将该预测结果输出;
第一更新单元,用于更新当前bin的概率空间,将得到的当前bin的最终概率空间输出;
第二更新单元,用于接收来自预测结果产生单元的预测结果,利用所述预测结果更新所述下一个bin的概率空间,将得到的下一个bin的最终概率空间输出;
更新触发单元,用于接收外部命令,通知第一更新单元更新当前bin的概率空间,及通知第二更新单元更新所述下一个bin的概率空间。
优选地,所述预测单元包括:计算子单元和选择子单元,其中,
计算子单元,用于根据当前bin的可选值、当前bin的概率模型值的可选值和当前bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值,并将所述下一个bin的初始概率空间的可选值输出;
选择子单元,用于接收来自计算子单元的所述下一个bin的初始概率空间的可选值,从中选择满足要求的一个或一个以上的值,作为所述预测得出的所述下一个bin的初始概率空间的预测结果。
由上述本发明提供的技术方案可见,本发明在更新当前bin的概率空间时,可通过统计预测来预测与当前bin对应的下一个bin的初始概率空间的预测结果,这样,在更新当前bin的概率空间时,能够利用上述预测结果进行对下一个bin的概率空间的更新过程。因此可以做到在更新1个bin的概率空间所需要花费的标准时钟周期T内,更新2个甚至多个bin的概率空间,提高CABAC编码的速度。
附图说明
图1是H.264标准中定义的编码过程示意图;
图2是H.264标准给出的归一化处理过程中的循环处理流程图;
图3是现有技术在一个时钟周期内更新2个bin的概率空间的示意图;
图4是本发明中提高算术编码速度的方法第一较佳实施例的流程图;
图5是本发明中提高算术编码速度的方法第二较佳实施例的流程图;
图6是图5的局部细化图;
图7是本发明中编码装置第一较佳实施例的结构示意图;
图8是本发明中编码装置的第二较佳实施例的结构示意图;
图9是本发明中提高算术编码速度的系统较佳实施例的结构示意图;
图10是图9中预测单元的一个较佳实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步详细描述。
本发明通过在更新当前bin的概率空间时,利用预测得出的与当前bin对应的下一个bin的初始概率空间的预测结果,进行对下一个bin的概率空间的更新过程,可做到在更新1个bin的概率空间所需要花费的标准时钟周期T内,更新2个甚至多个bin的概率空间,提高CABAC编码的速度。另外,本发明所关注的是如何能够做到在更新1个bin的概率空间所需要花费的标准时钟周期T内,更新2个甚至多个bin的概率空间,而并不着重关注更新1个bin的概率空间所采用的具体电路形式,因此在本发明中,可采用与实现图1过程对应的电路实现更新1个bin的概率空间。
本发明首先提供一种提高算术编码速度的方法,图4是该方法第一较佳实施例的流程图,该实施例包括以下步骤:
步骤401、预测得出与当前bin对应的下一个bin的初始概率空间的预测结果。
本实施例中,考虑采用并行更新2个或2个以上bin的概率空间的方案,来提高CABAC编码的速度。根据H.264标准,更新1个bin的概率空间需要多种该bin的概率信息,包括:该bin值,该bin的概率模型值,以及该bin的初始概率空间,前两种概率信息可以说是已知的,其中bin的概率模型值可从现有CABAC给出的对应的表中查得,对于bin的初始概率空间,H.264标准给出了第一个bin的初始概率空间,之后各bin的初始概率空间需要通过计算获得,即更新当前bin的概率空间后所得到的当前bin的最终概率空间将作为下一个bin的初始概率空间。本发明为了实现1个标准时钟周期T内,更新2个或更多个bin的概率空间,在对各bin的概率空间进行更新之前,先预测与该bin对应的下一个bin的初始概率空间的预测结果,利用该预测结果,可在更新当前bin的概率空间时,更新下一个bin的概率空间。
本实施例中,通过预测得出上述预测结果的方案可有以下两种:
第一种是统计预测。这一预测方案根据bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值,由H.264标准给出的图1所示编码方案,计算出下一个bin的初始概率空间的可选值。其中,bin的可选值有2个,即0和1;bin的概率模型值的可选值有128个;bin的初始概率空间可选值也至少有2个,其中,codIlow有1023个可选值,codIrange有5 12个可选值。可见,由bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值组成的bin+该bin的概率模型值+该bin的初始概率空间的组合方式可以有多种。本实施例中,统计预测的具体做法就是:依据H.264标准给出的算法,通过软件编程可计算出上述每一种组合方式所对应的bin的最终概率空间的可选值,每种组合方式都对应一个下一个bin的概率空间的可选值,再从这些可选值中选出满足要求的1个或1个以上的值,作为上述预测结果,以用于更新下一个bin的概率空间。所谓满足要求的1个或1个以上的值指的是:在具体实现时,根据实际情况,若整个电路中,只布置两套如背景技术中提及的与图1对应的电路用于更新bin的概率空间,那么选择将出现几率最高的可选值作为下一个bin的初始概率空间,并行更新当前bin的概率空间与下一个bin的概率空间;若具体实现时的电路资源充足,用于更新bin的概率空间的能够布置多套时,可选择出现几率最高的前2个或更多个可选值作为后续多个bin的初始概率空间的预测结果。本实施例中,设作为预测结果的是下一个bin的概率空间的可选值中出现几率最高的可选值。
根据该统计预测方法得到的预测结果,采用两套电路更新2个bin的概率空间的做法可以是:先向两套电路分别发送开始更新bin的概率空间的指令;之后,一套电路根据实际的当前bin的初始概率空间,更新当前bin的概率空间,同时,另一套电路根据预测结果更新下一个bin的概率空间。这样,可以做到在更新1个bin的概率空间所需要花费的标准时钟周期T内,更新2个bin的概率空间。
类似地,根据该统计预测方法得到的预测结果,采用三套电路更新3个bin的概率空间时,可以在上述更新下一个bin的概率空间对应的电路后再级联一套电路,那么更新3个bin的做法可以是:向三套电路分别发送开始更新bin的概率空间的指令;前两套电路的更新过程与上述更新2个bin的描述相同;第三套电路可以利用出现几率最高的可选值,或者出现几率第二高的可选值作为预测结果,更新第3个bin的概率空间。当然,从希望更新结果的正确率高来看,第三套电路仍需利用出现几率最高的可选值作为预测结果来更新概率空间。
实际应用中,上述更新2个或3个bin的概率空间的过程未必必须做到严格的同步,而只需要在保证预测结果准确性的情况下,做到更新2个bin的概率空间所花费的时间尽量接近更新1个bin的概率空间所需要花费的标准时钟周期T即可。
第二种是算法预测。这一预测方案根据算术编码的算法,确定该算法的输入端数据与输出端数据之间的函数关系。在得出这一函数关系后,就能够在已知算法输入端数据的情况下,依据这一函数关系,得到输出端数据。如在CABAC编码的算法中,该算法的输入端数据为:待预测bin,即下一个bin之前的一个或多个bin的bin值、bin的概率模型值及bin的初始概率空间;输出端数据为:待预测bin的最终概率空间;在已知bin、bin的概率模型值及bin的初始概率空间后,即在能够确定bin、bin的概率模型值及bin的初始概率空间这些有关该bin的概率信息与bin的最终概率空间之间的函数关系后,就可以在已知上述有关bin的概率信息与该函数关系的情况下,较准确地预测得出下一个bin的概率空间的预测结果。这一预测方案较上述第一种预测方案得到的预测结果往往命中率要高。
步骤402、更新当前bin的概率空间,得到当前bin的最终概率空间,并列执行步骤403。
本步骤中,依据H.264标准,更新当前bin的概率空间,并且,具体实现时,可采用现有与图1过程对应的电路来实现这一更新过程。
步骤403、利用步骤401得到的预测结果,更新下一个bin的概率空间,得出下一个bin的最终概率空间。
本步骤中,可依据H.264标准,利用上述预测结果,更新下一个bin的概率空间,并且在具体实现时,可采用与实现步骤402相同的电路来实现这一更新过程。本实施例通过预测出下一个bin的初始概率空间,使得步骤402与步骤403能够并列执行,这样,在具体实现时可以做到在设定的标准时钟周期T内,完成对2个bin的概率空间的更新过程。
图5是本发明中提高算术编码速度的方法第二较佳实施例的流程图,本实施例对图4所示实施例作了进一步展开说明,本实施例包括以下步骤:
步骤501的所有描述与步骤401的所有描述相同。
步骤502的所有描述与步骤402的所有描述相同。
步骤503的所有描述与步骤403的所有描述相同。
步骤504、将当前bin的最终概率空间与预测结果进行比较,判断两者是否相同,若两者相同,执行步骤505;否则,执行步骤506。
本实施例中,利用预测结果所得到的下一个bin的最终概率空间可能是该下一个bin的实际最终概率空间,即下一个bin的最终概率空间的准确性取决于上述预测结果的准确性。
步骤505、确定步骤503中得到的下一个bin的最终概率空间有效,将下一个bin的最终概率空间输出,结束该流程。
本实施例中,由于步骤502得到的当前bin的最终概率空间将作为下一个bin的初始概率空间,因此,若当前bin的最终概率空间与预测结果相同,则说明步骤501中得到的下一个bin的初始概率空间的预测结果与实际下一个bin的初始概率空间一致,可确定步骤503得到的下一个bin的最终概率空间有效,这种情况下,通过本实施例可以做到,在一个标准时钟周期内完成对2个bin的概率空间的更新过程,提高CABAC的编码速度。若利用预测结果能够获得一个有效的下一个bin的最终概率空间,称预测结果命中一个bin的初始概率空间。图6是图5的局部细化图,图6依据H.264标准将图5中步骤502与步骤503细化,由于更新bin的概率空间的过程为现有技术,不再对图6作具体介绍,所需要说明的是,图6中更新当前bin的概率空间和利用预测结果更新下一个bin的概率空间的具体实现均可采用与图1对应的电路实现。
步骤506、舍弃步骤503中得到的下一个bin的最终概率空间,结束该流程。
本实施例中,若当前bin的最终概率空间与用于更新下一个bin的概率空间的预测结果并不相同,则说明这一预测结果没有命中下一个bin的初始概率空间,因此,利用该预测结果得到的下一个bin的最终概率空间与实际的下一个bin的最终概率空间不相符合,需被舍弃。这样,在这一更新过程中,本实施例只能在一个设定的1个标准时钟周期内更新1个bin的概率空间,即更新当前bin的概率空间。从单个这一更新过程来看,本实施例似乎并未能提高CABAC编码的速度,但是,从对所有bin的编码过程来看,本实施例的实现对于提高整个编码速度是非常有效的,其原因在于:
设由统计预测方案得出的下一个bin的概率空间的所有可选值中,可选值M的出现几率最高,为20%,其他可选值的出现几率在0点附近,选择可选值M为预测结果,将该预测结果作为下一个bin的初始概率空间,用于更新下一个bin的概率空间。设需要对1000个bin进行编码,那么如果利用预测结果更新下一个bin的概率空间能够命中的几率为每100个bin命中20个,称这一几率为预测结果的命中率,本事例中,预测结果的命中率达到20%,则更新1000个bin的概率空间所需时间为800个标准时钟周期,可节省200个标准时钟周期。本事例中,虽然采用本发明中的统计预测方案未能节省出500个标准时钟周期,但是,在实际编码中,由于需要处理的bin数目庞大,因此能够节省的时间总数是可观的。可见,预测结果的命中率越高,编码速度越快。
为提高预测结果的命中率,可从由统计预测方案得出的下一个bin的概率空间的所有可选值中,选出前2个或更多个出现几率最高的可选值。如上述可选值M的出现几率最高,为20%,仅次于其后的是可选值N,出现几率是1%,选择这两个可选值作为下一个bin的初始概率空间。在具体实现时,需要布置三套用于更新bin的概率空间的电路,该电路可采用与图1更新过程对应的电路。其中,第一套电路用于更新当前bin的概率空间,第二套电路和第三套电路分别利用上述可选值M和可选值N更新下一个bin的概率空间,将第一套电路得到的当前bin的最终概率空间分别与可选值M和可选值N进行比较,若当前bin的最终概率空间与可选值M不同,而与可选值N相同,则可确定第二套电路得到的下一个bin的最终概率空间无效,而第三套电路得出的下一个bin的最终概率空间有效。利用多个可选值作为预测结果并行更新下一个bin的概率空间的做法,显然可提高预测结果的命中率,提高一个标准时钟周期内完成2个bin的概率空间的更新过程的可行性。还需要说明的是,上述预测结果能够命中一个bin的初始概率空间并非是偶然现象,而是本发明在研究CABAC编码算法时得出的统计规律,本发明利用这一统计规律提高CABAC编码的速度。
为进一步提高编码速度,在本发明的具体实现时,还基于预测结果的命中率较高的情况下,并行更新3个甚至3个以上bin的概率空间。设当前bin为第一个bin,当前bin的下一个bin为第二个bin,第二个bin的下一个bin为第三个bin。采用最少三套电路实现对该3个bin的概率空间并行更新过程,其中,第一套电路更新第一个bin的概率空间,第二套电路利用出现几率最高的预测结果M更新第二个bin的概率空间,第三套电路也利用预测结果M更新第三个bin的概率空间,之后,将第一套电路得到的第一个bin的最终概率空间与预测结果M作比较,若相同,则第二套电路得出的第二个bin的最终概率空间有效,在此基础上,比较第二个bin的最终概率空间与预测结果M是否相同,若相同,则第三套电路得出的第三个bin的最终概率空间有效,这样,在1个标准时钟周期内,本发明在具体实现时,能够并行更新3个bin的概率空间,大大提高CABAC编码的速度。
在能够确定预测结果的命中率较高的情况下,如预测结果通过上述算法预测获得,那么可依据图4所示实施例,并行更新2个甚至更多个bin的概率空间;若预测结果具有一定的命中率,如预测结果通过上述统计预测获得,那么可依据图5所示实施例,并行更新2个或更多个bin的概率空间。
本发明还基于上述方法提供一种编码装置。图7是该装置第一较佳实施例的结构示意图,其中,编码装置包括:预测结果产生单元701、第一更新单元702、第二更新单元703和更新触发单元704。
预测结果产生单元701,用于接收外部输入的bin的初始概率空间,产生下一个bin的初始概率空间的预测结果,将该预测结果输出。
第一更新单元702,用于更新当前bin的概率空间,将得到的当前bin的最终概率空间输出;该单元依据H.264标准更新当前bin的概率空间。
第二更新单元703,用于接收来自预测结果产生单元701的预测结果,利用该预测结果更新下一个bin的概率空间,将得到的下一个bin的最终概率空间输出;该单元依据H.264标准更新当前bin的概率空间。
更新触发单元704,用于接收外部命令,通知第一更新单元702更新当前bin的概率空间,并通知第二更新单元703更新下一个bin的概率空间。
图8是本发明提供的编码装置的第二较佳实施例的结构示意图。本实施例基于图7所示的装置,增加:比较单元801和确定单元802。
比较单元801,用于接收来自第一更新单元702的当前bin的最终概率空间,和来自预测结果产生单元701的预测结果,比较当前bin的最终概率空间与预测结果是否相同,将比较结果输出。
确定单元802,用于接收来自比较单元801的比较结果,若比较结果为当前bin的最终概率空间与预测结果相同,则通知第二更新单元703将下一个bin的最终概率空间输出;若不相同,则通知第一更新单元702将所述当前bin的最终概率空间输出。
具体实施时,上述编码装置中还可增加多个类似与第二更新单元的更新单元,这样,在外部输入的预测结果为2个或更多个的情况下,可启用类似的更新单元,利用对应的预测结果,更新对应的bin的概率空间,以进一步提高编码速度。
本发明还基于上述本发明提供的提高算术编码速度的方法及编码装置,提供一种提高算术编码速度的系统。图9是该系统一个较佳实施例的结构示意图,该系统包括:预测单元901和编码装置902。
预测单元901,用于预测得出与当前bin对应的下一个bin的初始概率空间的预测结果,将预测结果输出。该预测单元901可采用统计预测或算法预测方案预测得出预测结果。
编码装置902即为上述本发明提供的图7所示装置,对该编码装置所包括的各单元的描述可参见上文对图7所示装置的描述内容。另外,该编码装置902还可包括图8中所示的比较单元801和确定单元802,对该两个单元的描述也可参见上文。
图10是上述预测单元901一个较佳实施例的结构示意图,该预测单元901包括:计算子单元1001和选择子单元1002,其中,
计算子单元1001,用于根据bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值,并将下一个bin的初始概率空间的可选值输出;
选择子单元1002,用于接收来自计算子单元的下一个bin的初始概率空间的可选值,从中选择满足要求的一个或一个以上的值,作为所述预测得出的所述下一个bin的初始概率空间的预测结果。
综上所述,本发明在更新当前bin的概率空间时,可通过统计预测或算法预测等预测方法,来预测与当前bin对应的下一个bin的初始概率空间的预测结果,这样,在更新当前bin的概率空间时,能够利用上述预测结果进行对下一个bin的概率空间的更新过程。因此可以做到在更新1个bin的概率空间所需要花费的标准时钟周期T内,更新2个甚至多个bin的概率空间,提高CABAC编码的速度。
Claims (10)
1、一种提高算术编码速度的方法,其特征在于,预测与当前二进制值bin对应的下一个bin的初始概率空间的预测结果,该方法包括:
更新当前bin的概率空间,得出当前bin的最终概率空间,利用所述预测结果,更新所述下一个bin的概率空间,得出下一个bin的最终概率空间。
2、根据权利要求1所述的方法,其特征在于,该方法进一步包括:将所述当前bin的最终概率空间与所述预测结果进行比较,若两者相同,则确定所述下一个bin的最终概率空间有效。
3、根据权利要求1或2所述的方法,其特征在于,所述利用所述预测结果,更新所述下一个bin的概率空间,得出下一个bin的最终概率空间为:在所述更新当前bin的概率空间的同时,利用所述预测结果,更新所述下一个bin的概率空间。
4、根据权利要求1或2所述的方法,其特征在于,所述预测与当前bin对应的下一个bin的初始概率空间的预测结果的方法为:
根据bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值;
从所述下一个bin的初始概率空间的可选值中选择一个或一个以上的值,作为所述预测结果。
5、根据权利要求4所述的方法,其特征在于,所述根据bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值为:
bin的可选值有至少2个;bin的概率模型值的可选值有至少2个;bin的初始概率空间可选值有至少2个;
将bin的可选值、bin的概率模型值的可选值和bin的初始概率空间可选值组成至少2个bin+该bin的概率模型值+该bin的初始概率空间的组合;
依据H.264标准算法,计算上述每一种组合方式所对应的bin的最终概率空间,得到至少2个bin的最终概率空间,将该至少2个bin的最终概率空间作为下一个bin的初始概率空间的可选值。
6、根据权利要求1或2所述的方法,其特征在于,所述预测与当前bin对应的下一个bin的初始概率空间的预测结果为:
根据H.264标准算法,确定该算法的输入端数据与输出端数据之间的函数关系;所述输入端数据为:所述下一个bin之前的一个或多个bin的bin值、bin的概率模型值及bin的初始概率空间;所述输出端数据为:所述下一个bin的最终概率空间;
在已知bin、bin的概率模型值及bin的初始概率空间后,根据该函数关系,得到bin的最终概率空间,将该bin的最终概率空间作为所述预测结果。
7、一种编码装置,其特征在于,包括:预测结果产生单元、第一更新单元、第二更新单元和更新触发单元,其中,
预测结果产生单元,用于接收外部输入的bin的初始概率空间,产生下一个bin的初始概率空间的预测结果,将该预测结果输出;
第一更新单元,用于更新当前bin的概率空间,将得到的当前bin的最终概率空间输出;
第二更新单元,用于接收来自预测结果产生单元的预测结果,利用所述预测结果更新所述下一个bin的概率空间,将得到的下一个bin的最终概率空间输出;
更新触发单元,用于接收外部命令,通知第一更新单元更新当前bin的概率空间,及通知第二更新单元更新下一个bin的概率空间。
8、根据权利要求7所述的装置,其特征在于,所述装置进一步包括:比较单元和确定单元;
比较单元,用于接收来自第一更新单元的所述当前bin的最终概率空间,和来自预测结果产生单元的所述预测结果,比较所述当前bin的最终概率空间与所述预测结果是否相同,将比较结果输出;
确定单元,用于接收来自比较单元的所述比较结果,若比较结果为当前bin的最终概率空间与预测结果相同,则通知第二更新单元将所述下一个bin的最终概率空间输出;若不相同,则通知第一更新单元将所述当前bin的最终概率空间输出。
9、一种提高算术编码速度的系统,其特征在于,包括:预测单元和编码装置,其中,
预测单元,用于预测得出与当前bin对应的下一个bin的初始概率空间的预测结果,将所述预测结果输出;
编码装置,包括:预测结果产生单元、第一更新单元、第二更新单元和更新触发单元;其中,
预测结果产生单元,用于接收外部输入的bin的初始概率空间,产生下一个bin的初始概率空间的预测结果,将该预测结果输出;
第一更新单元,用于更新当前bin的概率空间,将得到的当前bin的最终概率空间输出;
第二更新单元,用于接收来自预测结果产生单元的预测结果,利用所述预测结果更新所述下一个bin的概率空间,将得到的下一个bin的最终概率空间输出;
更新触发单元,用于接收外部命令,通知第一更新单元更新当前bin的概率空间,及通知第二更新单元更新所述下一个bin的概率空间。
10、根据权利要求9所述的系统,其特征在于,所述预测单元包括:计算子单元和选择子单元,其中,
计算子单元,用于根据当前bin的可选值、当前bin的概率模型值的可选值和当前bin的初始概率空间可选值计算出下一个bin的初始概率空间的可选值,并将所述下一个bin的初始概率空间的可选值输出;
选择子单元,用于接收来自计算子单元的所述下一个bin的初始概率空间的可选值,从中选择满足要求的一个或一个以上的值,作为所述预测得出的所述下一个bin的初始概率空间的预测结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710002698 CN101005287A (zh) | 2007-01-26 | 2007-01-26 | 提高算术编码速度的方法、系统及编码装置 |
CNB2007101406281A CN100561877C (zh) | 2007-01-26 | 2007-08-09 | 提高算术编码速度的方法、系统及编码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710002698 CN101005287A (zh) | 2007-01-26 | 2007-01-26 | 提高算术编码速度的方法、系统及编码装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101005287A true CN101005287A (zh) | 2007-07-25 |
Family
ID=38704207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710002698 Pending CN101005287A (zh) | 2007-01-26 | 2007-01-26 | 提高算术编码速度的方法、系统及编码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101005287A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102263945A (zh) * | 2010-05-26 | 2011-11-30 | 联发科技(新加坡)私人有限公司 | 以树状运动补偿方式处理目标运动部分的方法及处理电路 |
WO2013017092A1 (en) * | 2011-08-04 | 2013-02-07 | Mediatek Inc. | Method and apparatus for reordered binarization of syntax elements in cabac |
CN103748886A (zh) * | 2011-06-16 | 2014-04-23 | 弗兰霍菲尔运输应用研究公司 | 支持模式切换的熵编码 |
CN101414830B (zh) * | 2007-10-16 | 2015-02-18 | 联发科技股份有限公司 | 平行处理至少两个二进制值的方法与相应算术编码系统 |
CN104509116A (zh) * | 2012-08-09 | 2015-04-08 | 松下电器(美国)知识产权公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置 |
CN108141594A (zh) * | 2015-10-13 | 2018-06-08 | 三星电子株式会社 | 用于对图像进行编码或解码的方法和设备 |
CN109565596A (zh) * | 2016-05-12 | 2019-04-02 | 交互数字Vc控股公司 | 用于上下文自适应二进制算术编码表示与视频数据相关的语法元素的二进制符号序列的方法和装置 |
US10645388B2 (en) | 2011-06-16 | 2020-05-05 | Ge Video Compression, Llc | Context initialization in entropy coding |
-
2007
- 2007-01-26 CN CN 200710002698 patent/CN101005287A/zh active Pending
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414830B (zh) * | 2007-10-16 | 2015-02-18 | 联发科技股份有限公司 | 平行处理至少两个二进制值的方法与相应算术编码系统 |
CN102263945B (zh) * | 2010-05-26 | 2014-11-26 | 联发科技(新加坡)私人有限公司 | 以树状运动补偿方式处理目标运动部分的方法及处理电路 |
CN102263945A (zh) * | 2010-05-26 | 2011-11-30 | 联发科技(新加坡)私人有限公司 | 以树状运动补偿方式处理目标运动部分的方法及处理电路 |
US10440364B2 (en) | 2011-06-16 | 2019-10-08 | Ge Video Compression, Llc | Context initialization in entropy coding |
US10630988B2 (en) | 2011-06-16 | 2020-04-21 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US11533485B2 (en) | 2011-06-16 | 2022-12-20 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9455744B2 (en) | 2011-06-16 | 2016-09-27 | Ge Video Compression, Llc | Context initialization in entropy coding |
US9596475B2 (en) | 2011-06-16 | 2017-03-14 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9628827B2 (en) | 2011-06-16 | 2017-04-18 | Ge Video Compression, Llc | Context initialization in entropy coding |
US9686568B2 (en) | 2011-06-16 | 2017-06-20 | Ge Video Compression, Llc | Context initialization in entropy coding |
US9729883B2 (en) | 2011-06-16 | 2017-08-08 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9762913B2 (en) | 2011-06-16 | 2017-09-12 | Ge Video Compression, Llc | Context initialization in entropy coding |
US9768804B1 (en) | 2011-06-16 | 2017-09-19 | Ge Video Compression, Llc | Context initialization in entropy coding |
CN103748886B (zh) * | 2011-06-16 | 2017-11-10 | Ge视频压缩有限责任公司 | 支持模式切换的熵编码 |
US9918104B2 (en) | 2011-06-16 | 2018-03-13 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9918090B2 (en) | 2011-06-16 | 2018-03-13 | Ge Video Compression, Llc | Entropy coding supporting mode switching |
US10148962B2 (en) | 2011-06-16 | 2018-12-04 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9930370B2 (en) | 2011-06-16 | 2018-03-27 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9936227B2 (en) | 2011-06-16 | 2018-04-03 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US9973761B2 (en) | 2011-06-16 | 2018-05-15 | Ge Video Compression, Llc | Context initialization in entropy coding |
US10063858B2 (en) | 2011-06-16 | 2018-08-28 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US10819982B2 (en) | 2011-06-16 | 2020-10-27 | Ge Video Compression, Llc | Entropy coding supporting mode switching |
US10645388B2 (en) | 2011-06-16 | 2020-05-05 | Ge Video Compression, Llc | Context initialization in entropy coding |
US9930371B2 (en) | 2011-06-16 | 2018-03-27 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US10230954B2 (en) | 2011-06-16 | 2019-03-12 | Ge Video Compression, Llp | Entropy coding of motion vector differences |
US10630987B2 (en) | 2011-06-16 | 2020-04-21 | Ge Video Compression, Llc | Entropy coding supporting mode switching |
US10298964B2 (en) | 2011-06-16 | 2019-05-21 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US10306232B2 (en) | 2011-06-16 | 2019-05-28 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
US10313672B2 (en) | 2011-06-16 | 2019-06-04 | Ge Video Compression, Llc | Entropy coding supporting mode switching |
US10425644B2 (en) | 2011-06-16 | 2019-09-24 | Ge Video Compression, Llc | Entropy coding of motion vector differences |
CN103748886A (zh) * | 2011-06-16 | 2014-04-23 | 弗兰霍菲尔运输应用研究公司 | 支持模式切换的熵编码 |
WO2013017092A1 (en) * | 2011-08-04 | 2013-02-07 | Mediatek Inc. | Method and apparatus for reordered binarization of syntax elements in cabac |
CN104509116A (zh) * | 2012-08-09 | 2015-04-08 | 松下电器(美国)知识产权公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置 |
CN104509116B (zh) * | 2012-08-09 | 2018-06-12 | 太阳专利托管公司 | 图像解码方法及图像解码装置 |
US10939104B2 (en) | 2015-10-13 | 2021-03-02 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding image |
US11553182B2 (en) | 2015-10-13 | 2023-01-10 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding image |
CN108141594B (zh) * | 2015-10-13 | 2021-02-26 | 三星电子株式会社 | 用于对图像进行编码或解码的方法和设备 |
CN108141594A (zh) * | 2015-10-13 | 2018-06-08 | 三星电子株式会社 | 用于对图像进行编码或解码的方法和设备 |
US11638006B2 (en) | 2015-10-13 | 2023-04-25 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding image |
CN109565596A (zh) * | 2016-05-12 | 2019-04-02 | 交互数字Vc控股公司 | 用于上下文自适应二进制算术编码表示与视频数据相关的语法元素的二进制符号序列的方法和装置 |
CN109565596B (zh) * | 2016-05-12 | 2022-02-25 | 交互数字Vc控股公司 | 用于上下文自适应二进制算术编码的方法和装置 |
US11323714B2 (en) | 2016-05-12 | 2022-05-03 | Interdigital Vc Holdings, Inc. | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101005287A (zh) | 提高算术编码速度的方法、系统及编码装置 | |
CN109409518A (zh) | 神经网络模型处理方法、装置及终端 | |
CN111695051B (zh) | 基于扫码的页面访问方法、装置、电子设备及存储介质 | |
CN105511962A (zh) | 渲染方法和装置 | |
CN111444513A (zh) | 一种电网嵌入式终端的固件编译优化选项识别方法及装置 | |
CN115509534A (zh) | 适配ai模型的编译方法、装置、存储介质及电子设备 | |
CN100561877C (zh) | 提高算术编码速度的方法、系统及编码装置 | |
CN102724506B (zh) | Jpeg_ls常规编码硬件实现方法 | |
CN111143777A (zh) | 一种数据处理方法、装置、智能终端及存储介质 | |
US11620049B2 (en) | Method, electronic device and computer program product for managing storage space | |
CN105511273A (zh) | 一种客户端运行管理方法及客户端 | |
CN111835536B (zh) | 一种流量预测方法和装置 | |
CN115017844B (zh) | 设计参数调整方法、装置、电子设备和存储介质 | |
CN100551066C (zh) | 编码器及自适应算术编码的实现方法及装置 | |
CN110675088B (zh) | 一种数字孪生系统复杂任务高效划分方法 | |
CN114936187A (zh) | 数据文件的处理方法、装置、设备及存储介质 | |
CN112002352B (zh) | 随机播放音乐方法、装置、计算机设备及存储介质 | |
CN109754115B (zh) | 数据预测的方法、装置、存储介质及电子设备 | |
CN114462679A (zh) | 基于深度学习的网络流量预测方法、装置、设备及介质 | |
CN111274030B (zh) | 一种面向应用特征的高效多处理器片上系统设计空间开采方法 | |
CN113031982A (zh) | 应用程序运行预测方法、装置以及电子设备 | |
CN100508612C (zh) | 算术编码中的归一化方法 | |
CN111353675B (zh) | 一种作业调度方法和装置 | |
CN110728516A (zh) | 一种风控模型的更新方法、装置及设备 | |
CN114615144B (zh) | 网络优化方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |