熵编码器表格变换方法

文档序号:6524947阅读:219来源:国知局
专利名称:熵编码器表格变换方法
技术领域
本发明是关于熵编码器表格变换方法的发明。更为详细地说,就是在对MEPG及JPEG中特定的视频数据进行压缩时,根据输入符号的节点的加权值和与这个节点相邻的节点的加权值对熵编码的表格进行有效变换的方法的发明。
背景技术
随着网络的飞速发展,网络媒介形式由原来以文本文件为主,发展到现在有图像、视频及超文本等多种形式并存。采用何种方法将这些形式的信息,特别是视频点播(VODVideo on Demand)等视频数据,由原来的模拟视频信号形式转换为数字形式,然后通过网络有效地储存、传输已成为目前重要的问题。
庞大的视频数据通过有限带宽的网络传输时,会给网络带来严重的负荷。为解决这一问题,提出了许多视频数据压缩和复原标准,如ISO/IEC(InternationalOrganization for Standardzation/International Electrotechmical Commission)的MPEG-1、MPEG-2、MPEG-4和ITU-T(International TelecommunicationsUnion-Telecommunication Standardization Sector)的H.261和H.263等。
上述标准将量子器的有损压缩方法和熵编码器的无损压缩方法有机的结合起来。特别是熵编码器,利用哈夫曼算法对视频数据进行编码,该方法充分利用了视频数据的概率特,可以大大提高数据的压缩率。
哈夫曼算法中有静态合夫曼算法。静态哈夫曼算法利用大量的视频数据,求出各符号出现的概率,以概率为基础构建静态哈夫曼树,再将哈夫曼树作为编码表格对视频数据进行编码。即,对加权值高的符号使用少比特进行编码,对加权值低的符号使用多比特进行编码。
如图1a所示,加权值为1的符号A的外部节点100与加权值为1的符号B的外部节点102相结合生成加权值为2的内部节点104;上述生成的内部节点104与加权值为1的符号C的外部节点106相结合,生成加权值为3的内部节点108;上述生成的内部节点108与加权值为2的符号D的外部节点110相结合,生成加权值为5的内部节点112;上述生成的内部节点112与加权值为5的符号E的外部节点114相结合,生成加权值为10的内部节点116,然后利用这些节点构建静态哈夫曼树。
依据上述的静态哈夫曼树,如图1b所示,生成熵编码的代码。即,将加权值为1的符号A分配为1000,将加权值为1的符号B分配为1001,将加权值为1的符号A分配为101,将加权值为2的符号A分配为11,将加权值为5的符号A分配为0,以便对所定的视频数据进行压缩和复原。
根据符号加权值的不同可以构建成各种哈夫曼树,例如图2a所示,根据偶数符号A,B,C,D及E的外部节点200、202、206、208、214的加权值生成内部节点204、210、212、218,制成哈夫曼树,再根据静态哈夫曼树如图2b所示生成熵编码代码,再用生成的熵编码对所定的视频数据进行压缩和复原。
尽管上述静态哈夫曼算法可以利用大量的实验数据构建熵编码表格,但是构建出的编码表格不能满足各种视频数据的特性,及比特率等条件的变化。在对新输入的视频数据进行压缩时,如果利用上述的熵编码器,会因为新输入的视频数据的符号概率分布与制成上述哈夫曼树的符号概率分布不同,而不能进行有效的压缩和复原。
为了解决静态哈夫曼树的问题开发出动态哈夫曼树,利用当前输入数据的概率分布重新构建一个熵编码器表格,通过新构建的表格可以提高数据压缩率。
图3a、b、c是传统动态哈夫曼树说明图。例如图3a所示,根据偶数符号A,B,C,D,E及F的外部节点300、302、304、306、308、310的加权值生成内部节点312、314、316、318、320,例如输入符号D,概率分布发生了变化,这种情况下图3a的动态哈夫曼树就不能满足哈夫曼算法的条件。
这种情况下,具有符号D的外部节点306的内部节点312的上级节点314与和上述内部节点312具有相同权重值的符号E的外部节点的上级节点316的加权值进行比较;如图3b所示,加权值高的内部节点316的符号E的外部节点308与符号D的外部节点的内部节点相互进行交换。
然后,上述节点316的上级节点318和与上述节点316具有相同权重值的符号A的节点的上级节点320的加权值进行比较;如图3c所示,加权值高的上级节点320的符号A的外部节点300与上述节点316相互进行交换。
上述过程一直持续到根节点再结束,之后将符号D的节点306与符号D节点306所属的节点312、316、320的加权值分别进行相加。
这样,利用动态哈夫曼树可以对新的视频数据进行高压缩率的压缩。但是每次符号出现时,都要对各节点的加权值进行比较,重新制成动态哈夫曼树,导致计算量过于庞大,在实际的实时系统中难以使用。

发明内容
为解决上述问题,本发明的目的是提供一种熵编码器表格变换方法,可以根据输入熵编码器表格的符号节点的加权值和与其相邻的其它节点的加权值对哈夫曼树进行有效的变换,从而提高压缩效率;还可以利用八字形树的旋转和准旋转方法对哈夫曼树进行有效的变换;还可以使输入符号的加权值具有与当前输入的视频数据最合适的值;还可以缩短表格变换时间。
本发明的目的是这样实现的一种熵编码器表格变换方法,包括第10过程将视频数据的符号从量化器中输入到表格变换器中,对这个符号的节点的同级节点是否是外部节点进行判断,对上述输入的符号节点的加权值及上述输入节点的同级节点的加权值进行比较。
第20过程如果输入的符号节点是外部节点,输入节点的加权值小于输入节点的同级节点的加权,则根据上述输入符号增加相关节点的加权值。
第30过程如果输入符号的节点的加权值超过输入符号节点的同级节点的加权值,则对输入符号节点的上级节点的同级节点以及输入符号节点的上级节点的同级节点的下级节点是否是外部节点进行判断,并对输入符号节点的加权值和输入符号的上级节点的同级节点的加权值以及输入符号节点的上级节点的同级节点的下级节点的加权值进行比较,根据判断和比较的结果进行八字形树旋转,并重新构建哈夫曼树,之后根据输入的符号增加相关节点的加权值。
第40过程,如果输入符号节点的同级节点不是外部节点,并且输入符号节点的加权值比输入符号节点的同级节点的加权值小,则对输入符号节点的上级节点的同级节点以及输入符号节点的上级节点的同级节点的下级节点是否是外部节点进行判断,并对输入符号节点的加权值和输入符号节点的上级节点的同级节点的加权值以及输入符号节点的上级节点的同级节点的下级节点的加权值进行比较,根据比较的结果决定使用八字形树半旋转,并重新构建哈夫曼树,然后根据输入的符号增加相关节点的加权值。
本发明的效果如上说明,本发明的熵编码器表格变换方法适用于MEPG,JPEG等使用哈夫曼算法的所有视频压缩设备,可以很好地表现当前视频符号特征,从而提高压缩效率,与动态哈夫曼算法相比表格修定所需的时间大大减少,因而也适用于实时压缩设备,可以维持哈夫曼树各节点的加权值,并输出概率明显占优的符号,从而可以分配更短的代码,提高压缩效率。
为进一步说明本发明的上述目的、结构特点和效果,以下将结合附图对本发明进行详细的描述。


图1a和图1b是传统静态哈夫曼树和编码代码说明实例示意图。
图2a和图2b是传统静态哈夫曼树和编码代码的其它说明实例示意图。
图3a到图3c是传统动态哈夫曼树说明图。
图4是依据本发明的变换方法的视频压缩器结构示意图。
图5a和图5b是普通八字形树旋转的说明图。
图6a和图6b是普通八字形树半旋转的说明图。
图7a和图7b是依据本发明的表格转换方法的信号流程示意图。
图8是本发明的表格变换方法说明图。
附图中主要部分的符号说明400顺向余弦离散变换(DCTDiscrete Consine Transform)部410量化器420存储器430熵编码器 440比特率调节器450表格变换部460解密器470减算器480切换开关具体实施方式
下面将参照附图4到附图8对本发明的熵编码器表格变换方法的实施例进行详细说明。
图4是依据本发明的视频压缩器结构示意图。如图所示,视频压缩器包括对视频数据进行顺向余弦离散变换的顺向余弦离散变换部400,对顺向余弦离散变换部输出的信号进行量化的量化器410,为对上述量化器的输出信号进行熵编码对表格进行变换储存的存储器420,根据上述表格进行熵编码的编码器430,依据上述熵编码器输出信号的比特率求出全局量化参数的值并对上述量化器的量化进行调节的比特率调节器440,使用量化器中输出的信号与比特率调节器输出的信号对存储器中的表格按本发明方法进行变换的表格变换部450,将量化器中的输出信号解密为原来信号的解密部460,对解密的视频数据进行减算的减算器470,根据是内帧(intra frame)还是间帧(inter frame)对外部接收的视频数据和上述减算机470中输出的信号进行控制,将这些信号有选择地输入顺向余弦离散变换部400的切换开关480等。
在预编码是内帧时,切换开关的可变端子接触到一侧固定端子(a)上。
外部输入的视频数据经过切换开关480后,在顺向余弦离散变换部400进行顺向余弦离散变换,在量化器410中进行量化,再在熵编码器420中根据存储器420中的表格对上述量化视频数据进行编码,最后输出。
上述熵编码器430的输出信号输入到比特率调节器440中,比特率调节器440对当前视频对象面的比特率进行判断,根据判断结果生成全局量化参数的值,量化器410再根据全局量化参数的值进行量化,使从熵编码器430中输出的信号具有一定的比特率。
将上述量化器410和比特率调节器430中输出的信号输入表格变换部450,表格变换部450依据本发明的表格变换方法将上述信号转换成存储器表格,熵编码器430再根据变换成的表格进行熵编码。
然后将量化后的视频数据输入解密器460,变换成原来的视频数据,再输入到减算器470中,检测出该数据与外部输入的视频数据的差值。
当编码是间帧时,切换开关480的可变端接触到另侧固定端子(b)上。
将上述减算机470检测出的视频数据的差值通过切换开关480输入到顺向余弦离散变换部400进行顺向余弦离散变换,然后输入到量化器410中进行量化,再在熵编码器中根据依据本发明变换方法变换成的熵编码器表格进行熵编码,然后输出。
编码是间帧的情况下内帧时的情况相同,比特率调节器440根据熵编码器430的输出信号生成全局量化参数的值,量化器410再根据全局量化参数的值进行量化,然后在熵编码器内根据上述量化器410和比特率调节器430中输出的信号对存储器内的编码表格依据本发明的方法进行变换。
本发明的变换方法使用八字形树旋转和准旋转。图5是普通八字形树旋转说明图。如图5a所示,在符号A,B,C节点的外部节点(500,502,504)和符号A及B的外部节点(500,502)形成的内部节点(506)和由上述内部节点506及符号C的外部节点504形成的内部节点508的哈夫曼树中输入符号A,当外部节点500的加权值增加的情况下,如图5b所示,将外部节点500的内部节点506变换成内部节点508的上级节点,并将符号A的外部节点500的同级节点,即,加权值没有变化的符号B的外部节点502变换成符号C的同级节点500;如果图5b中符号C的加权增加,则如图5a进行变化。
即,输入所定符号,当节点的加权值发生变化时,通过八字形树旋转,在内部节点的相互位置发生变更的同时,将输入外部节点的同级节点放置到其它内部节点的位置上。
图6是普通八字形树半旋转说明图。如图6a所示,输入符号A,当外部节点600的加权值发生变化时,则如图6b所示,内部节点606,608的位置不变,只变换外部节点600与外部节点604的位置如图6b所示输入符号C,当外部节点604的加权值发生变化时,则如图6a所示符号A及C的外部节点604,600的的相互交换位置。
下面参照图7和图8对本发明如何利用如图5和图6所示的八字形树旋转和准旋转进行说明。。
如图7a所示,阶段700中将所定的符号从量化器中输入到表格变换部,然后在阶段702中确定上述符号节点的同级节点。如图8,输入符号X时,对符号X的外部节点800的同级节点802进行确认。
阶段702中对同级节点802进行确认后,在下个阶段704中对上述同级节点802是外部节点还是内部节点进行判断。即上述同级节点802是否是从理化器410中输入的所定符号的节点进行判断。
然后根据阶段704的判断结果在阶段706和阶段708中对上述输入的符号节点800和它的同级节点802的加权值进行比较。
当阶段704中判断上述节点802是从量化器410输入的所定的符号节点即是外部节点,并且阶段706中比较的结果为Wx<Wy时,不变更各节点的位置,并在阶段738中根据上述输入的符号X对相对应的节点即外部节点800和内部节点804,806的加权值进行调节。
当阶段706,708阶段的比较结果为Wx≥Wy时,不管阶段704中判断的结果如何,则在阶段710中对上述节点800的上级节点840的同级节点808进行确认,在阶段712中对节点808是否是外部节点进行判断,根据判断的结果在阶段714,716中对上述外部节点800和节点808的加权值Wx,Wz进行比较。
当阶段712的判断结果为节点808是外部节点,而且阶段714的比较结果是Wx<Wz时,不变更各个节点的位置,然后在阶段738中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。当阶段714,716的比较结果是Wx≥Wz时,不管阶段712的判断结果如何,在阶段718中使用八字形树旋转,然后在阶段738中根据上述输入的符号X以相对应的外部节点800和内部节点804,806的加权值进行调节。
如果阶段712的判断结果为节点808是内部节点,而且阶段716的比较结果为Wx<Wz时,对上述节点808的下级节点810,812的加权值(Wz1,Wz2)进行确认,在阶段722中对Wx是否大于Wz1进行判断,在阶段724,726中对Wx是否大于Wz2进行判断。
如果判断的结果为Wx>Wz1,Wx>Wz2,则在阶段728中使用八字形树旋转,然后在阶段738中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。
如果判断的结果不是Wx>Wz1,Wx>Wz2;或阶段722的判断结果不是Wx>Wz1而阶段726的判断结果是Wx>Wz2,则在阶段730中对上述节点810,812哪一个加权值大进行判断,然后在阶段732中对加权值大的节点是否是外部节点进行判断,如果是外部节点则在阶段728中使用八字形树旋转,然后在阶段738中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。如果阶段738的判断结果为外部节点则不变更各节点的位置,在阶段738中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。
如果阶段722的判断结果不是wX>wZ1,阶段726的判断结果不是wX>wZ2,则在阶段734中对上述节点80,812中是否存在外部节点进行判断,如果存在外部节点则在阶段736中使用八字形树旋转,然后在阶段738中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节;如果不存在外部节点则不变更各节点的位置,在阶段738中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。
如果阶段704的判断结果为上述节点802是内部节点,阶段708的比较结果为Wx<Wy时,如图7b所示,在阶段740中对上述节点800的上级节点804的同级节点808进行确认,在阶段742中对节点808是否是外部节点进行判断,根据判断的结果在阶段744,746中对节点800,808的加权值Wx,Wy进行比较。
当阶段742的判断结果为节点808是外部节点,阶段744的比较结果为Wx<Wz时,不变更各节点的位置,在阶段768中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。如果阶段744,746的比较结果为Wx≥Wz,在阶段748中使用八字形树旋转,然后在阶段749中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。
当阶段742的判断结果为节点808是外部节点,阶段746的比较结果为Wx<Wz时,在阶段750中,对上述节点808的下级节点810,812的加权值(Wz1,Wz2)进行确认,在阶段752中判断是Wx是否大于Wz1,在阶段754,746中判断Wx是否大于Wz2。
当判断结果是Wx>Wz1,Wx>Wz2时,在阶段758中使用八字形树旋转,在阶段768中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。
当阶段752的判断结果为Wx>Wz1,阶段754的判断结果不是Wx>Wz2或阶段752的判断结果不是Wx>Wz1,阶段754的判断结果是Wx>Wz2时,在阶段760中判断上述节点810,812中哪一节点的加权值更大,在阶段762中判断加权值大的节点是否是外部节点。如果是外部节点,则在阶段758中使用八字形树旋转,然后在阶段768中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。如果阶段762的判断结果为不是外部节点则不变更各节点的位置,在阶段768中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节。
如果阶段752的判断结果不为Wx>Wz1,阶段746的判断结不为Wx>Wz2,则在阶段764中对上述节点810,812中是否存在外部节点进行判断,如果存在外部节点则在阶段766中使用八字形树旋转,然后在阶段768中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节;如果判断结果为不存在外部节点,则不变更各节点的位置,在阶段768中根据上述输入的符号X对相对应的外部节点800和内部节点804,806的加权值进行调节,经过上述阶段,根据输入的节点对哈夫曼树重新进行构建并增加了加权值后,在阶段770中对是否全部完成构成视频对象面(VOP)的符号处理进行判断,如果判断的结果为没有全部完成则返回到阶段700重复进行。
如果阶段770的判断结果为全部完成则在阶段772中对将要调节哈夫曼树的各节点的加权值的调节值进行计算,在阶段774中根据计算出的加权值调节值对构成哈夫曼树的各节点的加权值进行调节。
即,像高清晰度电视(HDTVhigh definition television)那样输入无限的连续视频数据的情况下,哈夫曼树的各节点上累积的加权值,不仅没有可以足够储存的记忆空间,也不能反映出加权值的变化情况。例如特定符号的概率明显优于其它符号时,根据哈夫曼算法分配给其1BIT的编码,相反,如果具有相同概率的符号太多,由于符号之间的相互结合,给其分配的比特数就会变多,这种情况下只利用目前输入的视频数据的加权值构建哈夫曼树的话,由于概率明显占优的符号出现的机会的减少反而会降低编码的效率。因此,应该对加权值的大小和维持时间进行适当的调节,提高概率明显占优的符号出现的机会,以使现在的视频变化直接对哈夫曼树的结构产生作用。
因此,依据本发明,在比特率调节器中决定每个视频对象面(VOP)的全局量化参数的值,然后在阶段772中使用公式1对加权值调节值进行计算,再在阶段774中与哈夫曼树的各个节点的加权值相乘,再对各节点的加权值进行调节。
公式1
其中f()是范围为0.1-1.0的单元逻辑映像处理器(CLIP)函数,QPc是适用于当前视频对象面(VOP)的全局量化参数值,QPp是前面视频对象面(VOP)使用的全局量化参数值。
α和β是为了决定当前VOP与前面VOP的全局量化参数的差异值反映程度而试求出的常数值,本发明的变换方法中,通过大量的试验,α值一般固定在0.5,β值一般固定在0.3。
上述公式1中,当前VOP与前面VOP的QP值的差异越大,画面的转换就越急剧,亮度变化发生的概率就高,与前面符号概率的差异就越大。由于前面的加权值大大减小,就使用新输入符号的加权值进行编码。如果两者的QP值差异不大,则前面加权值仍维持原值,为增大各符号之间的差异提供机会。
本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明权利要求书的范围内。
权利要求
1.一种熵编码器表格变换方法,其特征在于包括以下几个过程第10过程将视频数据的符号从量化器中输入到表格变换器中,对这个符号的节点的同级节点是否是外部节点进行判断,对上述输入的符号节点的加权值及上述输入节点的同级节点的加权值进行比较;第20过程如果输入的符号节点是外部节点,输入节点的加权值小于输入节点的同级节点的加权,则根据上述输入符号增加相关节点的加权值;第30过程如果输入符号的节点的加权值超过输入符号节点的同级节点的加权值,则对输入符号节点的上级节点的同级节点以及输入符号节点的上级节点的同级节点的下级节点是否是外部节点进行判断,并对输入符号节点的加权值和输入符号的上级节点的同级节点的加权值以及输入符号节点的上级节点的同级节点的下级节点的加权值进行比较,根据判断和比较的结果进行八字形树旋转,并重新构建哈夫曼树,之后根据输入的符号增加相关节点的加权值;第40过程,如果输入符号节点的同级节点不是外部节点,并且输入符号节点的加权值比输入符号节点的同级节点的加权值小,则对输入符号节点的上级节点的同级节点以及输入符号节点的上级节点的同级节点的下级节点是否是外部节点进行判断,并对输入符号节点的加权值和输入符号节点的上级节点的同级节点的加权值以及输入符号节点的上级节点的同级节点的下级节点的加权值进行比较,根据比较的结果决定使用八字形树半旋转,并重新构建哈夫曼树,然后根据输入的符号增加相关节点的加权值。
2.如权利要求1所述的熵编码器表格变换方法,其特征在于所述第30过程包括以下几个过程第31过程,对输入符号节点的上级节点的同级节点是否是外部节点进行判断,并对输入符号节点的加权值及输入符号节点的上级节点的同级节点的加权值进行比较;第32过程,如果输入符号节点的上级节点的同级节点是外部节点,输入符号节点的加权值比输入符号节点的上级节点的同级节点的加权值小时,根据输入符号增加相关节点的加权值;第33过程,如果输入符号节点的加权值超过输入符号节点的上级节点的同级节点的加权值时,决定使用八字形树旋转,重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第34过程,如果输入符号节点的上级节点的同级节点不是外部节点,输入符号节点的加权值小于输入符号节点的上级节点的同级节点的加权值时,对输入符号节点的上级节点的同级节点的下级节点是否是外部节点进行判断,并对输入符号节点的加权值与输入符号节点的上级节点的同级节点的下级节点的加权值进行比较,根据比较结果决定是否使用八字形树旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值。
3.如权利要求2所述的熵编码器表格变换方法,其特征在于所述第34过程包括以下几个过程第34-1过程,对输入符号节点的加权值与输入符号节点的上级节点的同级节点的两个下级节点的加权值进行比较;第34-2过程,如果输入符号节点的加权值比两个下级节点的加权值都大,则决定使用八字形树旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第34-3过程,如果输入符号节点的加权值比两个下级节点的其中一个大,比另一个小,则对加权值大的下级节点是否是外部节点进行判断;第34-4过程,如果加权值大的下级节点不是外部节点,则决定使用八字形树旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第34-5过程,如果加权值大的下级节点是外部节点,则根据输入符号增加相关节点的加权值;第34-6过程,如果输入符号节点的加权值比两个下级节点的加权值都小,则对两个下级节点中是否存在外部节点进行判断;第34-7过程,如果存在外部节点,则决定使用八字形树旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第34-8过程,如果不存在外部节点,则根据输入符号增加相关节点的加权值。
4.如权利要求1所述的熵编码器表格变换方法,其特征在于所述第40过程包括以下几个过程第41过程,对输入符号节点的上级节点的同级节点是否是外部节点进行判断,并对输入符号节点的加权值与输入符号节点的上级节点的同级节点的加权值进行比较;第42过程,如果输入符号节点的上级节点的同级节点是外部节点,而且输入符号节点的加权值小于输入符号节点的上级节点的同级节点的加权值,则根据输入符号增加相关节点的加权值;第43过程,如果输入符号节点的加权值超过输入符号节点的上级节点的同级节点的加权值,则决定使用八字形树半旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第44过程,如果输入符号节点的上级节点的同级节点不是外部节点,而且输入符号节点的加权值小于输入符号节点的上级节点的同级节点的加权值,则对输入符号节点的上级节点的同级节点的下级节点是否是外部节点进行判断,并对输入符号节点的加权值与输入符号节点的上级节点的同级节点的下级节点的加权值进行比较,根据判断和比较的结果决定是否使用八字形树半旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值。
5.如权利要求4所述的熵编码器表格变换方法,其特征在于所述第44过程包括以下几个过程第44-1过程,对输入符号节点的加权值与输入符号节点的上级节点的同级节点的两个下级节点的加权值进行比较;第44-2过程,如果输入符号节点的加权值比两个下级节点的加权值都大,则决定使用八字形树旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第44-3过程,如果输入符号节点的加权值比两个下级节点的其中一个大,比另一个小,则对加权值大的下级节点是否是外部节点进行判断;第44-4过程,如果加权值大的下级节点不是外部节点,则决定使用八字形树半旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第44-5过程,如果加权值大的下级节点是外部节点,则根据输入符号增加相关节点的加权值;第44-6过程,如果输入符号节点的加权值比两个下级节点的加权值都小,则对两个下级节点中是否存在外部节点进行判断;第44-7过程,如果存在外部节点,则则决定使用八字形树半旋转,并重新构建哈夫曼树,然后根据输入符号增加相关节点的加权值;第44-8过程,如果不存在外部节点,则根据输入符号增加相关节点的加权值。
6.如权利要求1所述的熵编码器表格变换方法,其特征在于所述第20过程,第30过程和第40过程后包括以下几个过程第50过程,对是否完成了一个视频对象面(VOPVideo Object Plane)所有符号的处理进行判断,如果没有完成,则从阶段10开始重复执行;如果完成,使用比特率调节器中生成的全局量化参数的值对加权值的调节值进行计算;第60过程,将计算出的加权值的调节值与第20过程,第30过程,第40过程中构建的哈夫曼树的各节点相乘并对加权值进行调节。
7.如权利要求6所述的熵编码器表格变换方法,其特征在于所述第50过程的加权值调节值计算公式如下加权值调节值=f(1-11+αe-β(|QPc-QPp|-15))]]>其中f()是范围为o.1-1.0的单元逻辑映像处理器(CLIP)函数,QPc是适用于当前视频对象面(VOP)的全局量化参数值,QPp是前面视频对象面(VOP)的使用的全局量化参数值,α和β是为了决定当前VOP与前面VOP的全局量化参数的差异值反映程度而试求出的常数值。
全文摘要
本发明是关于熵编码器表格变换方法,根据输入熵编码器表格的符号节点的加权值和与其相邻的其它节点的加权值对哈夫曼树进行有效的变换,从而提高压缩效率;利用八字形树旋转和准旋转对哈夫曼树进行有效的变换,从而使输入符号的加权值具有与现在输入的视频数据最合适的值,缩短变换表格的时间。本发明是利用八字形树算法对熵编码器的表格进行有效的修订的方法的发明,由视频数据的特性和哈夫曼树的结构决定使用八字形树旋转还是准旋转的方法,通过维持哈夫曼树各节点所具有的加权值,增加压缩效果。
文档编号G06T9/40GK1925613SQ200510029359
公开日2007年3月7日 申请日期2005年9月2日 优先权日2005年9月2日
发明者金正祐 申请人:上海乐金广电电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1