专利名称:数字信号处理中联合变长编解码的方法和装置的制作方法
技术领域:
本发明涉及一种电数字数据处理技术,特别地,涉及一种运用于数字信号处理的联合变长编解码的方法和装置。
背景技术:
在数字信号处理中,常常要将事件转化成二进制比特串,即码字,在信道上传输。为了使码字的比特数接近对应事件的熵,通常采用变长编码的方法,即把短码字分配给出现概率大的事件,将长码字分配给小概率事件。所以变长编码中码字的分配必须基于对不同事件的概率统计。但是随着环境和时间的改变,某个事件的出现概率是不断改变的,如果用单一的码表将事件映射成码字,不利于编码效率。高效的变长编码方法是根据不同的环境和时间,使用不同的码表。某一码表符合特定时间或环境中各事件的概率分布。
在实际中,经常要对一串符号进行编码。如果这一串符号中n个连续的0(n≥0)和一个非零整数交替出现,可以将某个非零整数的值level和它前面连续的0的个数,即游程run,作为一个联合事件进行编码。所以对这样一串符号进行编码等价于逐一对多个(level,run)事件进行编码。比如,在视频或图像压缩领域中,对变换域的系数做扫描以后形成的一维变换系数串就是具有以上特点的符号串,常常对(level,run)事件采用联合变长编解码。
在现有的技术中,为了提高编解码效率,根据环境的不同采用了多张码表将事件(level,run)映射成码字,而用level的变化来标识环境的变化,也就是说根据level的不同的码表之间切换。但是,实验表明,仅根据level并不能很好的反映当前的环境,进而,仅根据level统计出来的基于某个环境的码表也不能很好的符合该环境中各个事件的概率分布。不利于编解码效率的提高。
发明内容
本发明的目的是提供一种运用于数字信号处理的联合变长编解码的方法和装置。本发明根据level和run两方面的因素来判断当前的环境,进而选择码表。
为了达到上述目的,本发明采用的技术方案如下一种运用于数字信号处理的联合变长编解码的方法,至少存在一个level,必须与run结合,才能唯一的确定一个环境,并由所确定的环境决定对(level,run)进行编码或解码所采用的码表。
进一步地,编码包括以下步骤(1)选定初始码表;(2)根据选定的初始码表对初始的(level,run)进行编码;(3)为待编码的(level,run)选择码表,选择过程中至少有一次需要同时用到已编码的level和run的信息;(4)根据选定的码表对待编码的(level,run)进行编码;(5)重复步骤(3)(4),直至(level,run)全部编完。
解码包括以下步骤(1)选定初始码表;(2)根据选定的初始码表对初始的(level,run)进行解码;(3)为待解码的(level,run)选择码表,选择过程中至少有一次需要同时用到已解码的level和run的信息;(4)根据选定的码表对待解码的(level,run)进行解码;(5)重复步骤(3)(4),直至(level,run)全部解完。
本发明的目的还在于提供一种应用上述的联合变长编解码的方法的编码装置。
该发明目的是通过以下技术方案来实现的,编码装置包括一编码映射装置,将(level,run)映射成码字;一编码码表选择装置,根据已编码的(level,run)选择码表;一延迟装置,用于延迟编码码表选择装置的输入;延迟装置与编码码表选择装置相连,编码码表选择装置与编码映射装置相连。
本发明的目的还在于提供一种应用上述的联合变长编解码的方法的解码装置。
该发明目的是通过以下技术方案来实现的,解码装置包括一解码映射装置,将码字映射成(level,run);一解码码表选择装置,根据已解码的(level,run)选择码表;解码码表选择装置与解码映射装置相连。
本发明与背景技术相比,具有的有益效果它允许根据level和run两方面的因素来判断当前的环境,进而选择码表。这样可以更准确的判断环境,同时使基于某个环境的码表能更好的符合该环境中各个事件的概率分布,提高编解码效率。本发明应用于数字信号处理领域,特别是视频编解码或图像编解码领域。
图1是目前现有方法的编码装置框图;图2是目前现有方法的解码装置框图;图3是本发明的编码装置框图;图4是本发明的解码装置框图。
具体实施例方式
附图l示出了现有的联合变长编解码的编码装置,包括第一映射装置、第一码表选择装置、延迟装置。
当前(level,run)输入第一映射装置,同时level输入延迟装置。延迟装置的输出,即先前已编码的level值输入第一码表选择装置,选择码表。第一码表选择装置与第一映射装置相连。第一映射装置根据第一码表选择装置的输出值来确定所使用的码表,并根据该码表将(level,run)映射成码字。
附图2示出了现有的联合变长编解码的解码装置,包括第二映射装置,第二码表选择装置。
当前码字输入第二映射装置,同时先前已解码的level输入第二码表选择装置,选择码表。第二码表选择装置与第二映射装置相连。第二映射装置根据第二码表选择装置的输出值来确定所使用的码表,并根据该码表将输入的码字映射成(level,run)。
现有方法的不足之处是仅根据level的值来切换码表,不能十分准确,不利于编解码效率的提高。
下面针对现有方法的不足,并参照附图3、4详细说明本发明。
实施例1附图3示出了本发明的联合变长编解码的编码装置,包括编码映射装置、编码码表选择装置、延迟装置。
当前(level,run)输入编码映射装置和延迟装置。延迟装置的输出,即先前已编码的(level,run)值输入编码码表选择装置,选择码表。编码码表选择装置与编码映射装置相连。编码映射装置根据编码码表选择装置的输出值来确定所使用的码表,并根据该码表将(level,run)映射成码字。
在编码映射装置中存放7张码表,码表的选择信息由编码码表选择装置输入。第一个编码的(level,run)使用码表1。从第二个(level,run)开始,如果前一个(level,run)中,level的绝对值等于1且run小于4,当前(level,run)选择码表2;如果前一个(level,run)的level的绝对值等于1且run大于等于4,当前(level,run)选择码表3;如果前一个(level,run)的level的绝对值等于2,当前(level,run)选择码表4;如果前一个(level,run)的level的绝对值等于3,当前(level,run)选择码表5;如果前一个(level,run)的level的绝对值等于4或5,当前(level,run)选择码表6;否则当前(level,run)选择码表7。如果所选择的码表的序号大于编码前一个(level,run)时使用的码表的序号,则使用所选择的码表,编码码表选择装置将所使用的码表的序号输入编码映射装置;否则,编码码表选择装置不向编码映射装置输出信号,或保持原有信号不变。
附图4示出了本发明的联合变长编解码的解码装置,包括解码映射装置,解码码表选择装置。
当前码字输入解码映射装置,同时先前已解码的(level,run)输入解码码表选择装置,选择码表。解码码表选择装置与解码映射装置相连。解码映射装置根据解码码表选择装置的输出值来确定所使用的码表,并根据该码表将输入的码字映射成(level,run)。
在解码映射装置中存放7张码表,码表的选择信息由解码码表选择装置输入。第一个解码的(level,run)使用码表1。从第二个(level,run)开始,如果前一个(level,run)中,level的绝对值等于1且run小于4,当前(level,run)选择码表2;如果前一个(level,run)的level的绝对值等于1且run大于等于4,当前(level,run)选择码表3;如果前一个(level,run)的level的绝对值等于2,当前(level,run)选择码表4;如果前一个(level,run)的level的绝对值等于3,当前(level,run)选择码表5;如果前一个(level,run)的level的绝对值等于4或5,当前(level,run)选择码表6;否则当前(level,run)选择码表7。如果所选择的码表的序号大于解码前一个(level,run)时使用的码表的序号,则使用所选择的码表,解码码表选择装置将所使用的码表的序号输入解码映射装置;否则,解码码表选择装置不向解码映射装置输出信号,或保持原有信号不变。
实施例2附图3示出了本发明的联合变长编码的编码装置,包括编码映射装置、编码码表选择装置、延迟装置。
当前(level,run)输入编码映射装置和延迟装置。延迟装置的输出,即先前已编码的(level,run)值输入编码码表选择装置,选择码表。编码码表选择装置与编码映射装置相连。编码映射装置根据编码码表选择装置的输出值来确定所使用的码表,并根据该码表将(level,run)映射成码字。
在编码映射装置中存放7张码表,码表的选择信息由编码码表选择装置输入。第一个编码的(level,run)使用码表l。从第二个(level,run)开始,如果前一个(level,run)中,level的绝对值等于1且run小于4,当前(level,run)选择码表2;如果前一个(level,run)的level的绝对值等于1且run大于等于4小于7,当前(level,run)选择码表3;如果前一个(level,run)的level的绝对值等于1且run大于等于7,当前(level,run)选择码表4;如果前一个(level,run)的level的绝对值等于2,当前(level,run)选择码表5;如果前一个(level,run)的level的绝对值等于3或4,当前(level,run)选择码表6;否则当前(level,run)选择码表7。如果所选择的码表的序号大于编码前一个(level,run)时使用的码表的序号,则使用所选择的码表,编码码表选择装置将所使用的码表的序号输入编码映射装置;否则,编码码表选择装置不向编码映射装置输出信号,或保持原有信号不变。
附图4示出了本发明的联合变长编解码的解码装置,包括解码映射装置,解码码表选择装置。
当前码字输入解码映射装置,同时先前已解码的(level,run)输入解码码表选择装置,选择码表。解码码表选择装置与解码映射装置相连。解码映射装置根据解码码表选择装置的输出值来确定所使用的码表,并根据该码表将输入的码字映射成(level,run)。
在解码映射装置中存放7张码表,码表的选择信息由解码码表选择装置输入。第一个解码的(level,run)使用码表1。从第二个(level,run)开始,如果前一个(level,run)中,level的绝对值等于1且run小于4,当前(level,run)选择码表2;如果前一个(level,run)的level的绝对值等于1且run大于等于4小于7,当前(level,run)选择码表3;如果前一个(level,run)的level的绝对值等于l且run大于等于7,当前(level,run)选择码表4;如果前一个(level,run)的level的绝对值等于2,当前(level,run)选择码表5;如果前一个(level,run)的level的绝对值等于3或4,当前(level,run)选择码表6;否则当前(level,run)选择码表7。如果所选择的码表的序号大于解码前一个(level,run)时使用的码表的序号,则使用所选择的码表,解码码表选择装置将所使用的码表的序号输入解码映射装置;否则,解码码表选择装置不向解码映射装置输出信号,或保持原有信号不变。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1.一种运用于数字信号处理的联合变长编解码的方法,其特征在于至少存在一个level,必须与run结合,才能唯一的确定一个环境,并由所确定的环境决定对(level,run)进行编码或解码所采用的码表。
2.根据权利要求1所述的联合变长编解码的方法,其特征在于,编码包括以下步骤(1)选定初始码表。(2)根据选定的初始码表对初始的(level,run)进行编码。(3)为待编码的(level,run)选择码表,选择过程中至少有一次需要同时用到已编码的level和run的信息。(4)根据选定的码表对待编码的(level,run)进行编码。(5)重复步骤(3)(4),直至(level,run)全部编完。
3.根据权利要求1所述的联合变长编解码的方法,其特征在于,解码包括以下步骤(1)选定初始码表。(2)根据选定的初始码表对初始的(level,run)进行解码。(3)为待解码的(level,run)选择码表,选择过程中至少有一次需要同时用到已解码的level和run的信息。(4)根据选定的码表对待解码的(level,run)进行解码。(5)重复步骤(3)(4),直至(level,run)全部解完。
4.根据权利要求2或3所述的联合变长编解码的方法,其特征在于,所述步骤(3)中,所述level的绝对值等于1时,需要同时用到已编码或解码的run的信息为待解码的(level,run)选择码表。
5.一种应用权利要求1所述的联合变长编解码的方法的编码装置,其特征在于,它包括一编码映射装置,将(level,run)映射成码字;一编码码表选择装置,根据已编码的(level,run)选择码表;一延迟装置,用于延迟编码码表选择装置的输入;延迟装置与编码码表选择装置相连,编码码表选择装置与编码映射装置相连。
6.一种应用权利要求1所述的联合变长编解码的方法的解码装置,其特征在于,它包括一解码映射装置,将码字映射成(level,run);一解码码表选择装置,根据已解码的(level,run)选择码表;解码码表选择装置与解码映射装置相连。
全文摘要
本发明公开了一种运用于数字信号处理的联合变长编解码的方法和装置。在对(level,run)联合编解码时,本发明根据level和run两方面的因素来判断当前的环境,进而选择码表。这样可以更准确的判断环境,同时使基于某个环境的码表能更好的符合该环境中各个事件的概率分布,提高码表的精确性和编解码效率。本发明应用于数字信号处理领域,特别是视频编解码或图像编解码领域。
文档编号H03M7/40GK1658514SQ20051004931
公开日2005年8月24日 申请日期2005年3月9日 优先权日2005年3月9日
发明者虞露, 董洁 申请人:浙江大学