发明名称 基于零前缀码的变长码解码方法
摘要 本发明涉及基于零前缀码的变长码解码方法,属于数字视频编解码技术领域。该方法包括:生成多个基于0前缀码的多叉树,根据该多叉树对码流进行变长码解码;该树的结构包括:由一个根节点及其多级节点构成的0前缀码字比特序列,根节点只记录其子节点的个数,其它各级节点还记录所述码字序列的比特位,每个节点最多存在4个子节点,如果该节点的子节点个数为0,该节点为叶子节点,叶子节点同时记录和码字对应的语法元素值。本发明具有较高的效率,能够满足在实时编解码系统中的应用。
申请公布号 CN100527847C 申请公布日期 2009.08.12
申请号 CN200710064445.6 申请日期 2007.03.16
申请人 清华大学 发明人 戴琼海;施一平;尔桂花
分类号 H04N7/30(2006.01)I;H04N7/26(2006.01)I 主分类号 H04N7/30(2006.01)I
代理机构 北京清亦华知识产权代理事务所 代理人 廖元秋
主权项 1、一种基于零前缀码的变长码解码方法,其特征在于,该方法包括:生成多个基于0前缀码的多叉树,根据该多叉树对码流进行变长码解码;所述的基于0前缀码的多叉树的结构包括:由一个根节点及其多级节点构成的0前缀码字比特序列,下级节点是其上级节点的子节点;其中,根节点只记录其子节点的个数,其它各级节点除记录其子节点的个数外,还记录所述码字序列的比特位,所述子节点记录的比特位是其上级节点记录的比特位及后续的比特位,每个节点最多存在4个子节点,各子节点分别记录后续的非零比特位及其前的0-3个0的比特位;如果该节点的子节点个数为0,该节点为叶子节点,叶子节点同时记录和码字对应的语法元素值;所述根据生成的基于0前缀码的多叉树对码流进行变长码解码,具体包括以下步骤:1)设置所述多叉树的根节点为当前节点,设置比特位指针P指向下一个将要读取的码流比特位,如果码流结束,则转到6);2)读取当前节点的子节点数N,令N=N-1,设置子节点计数K,且K=0;3)如果码流结束,则表示码流错误,转到6);否则,读取该指针P指向的码流比特位,令K=K+1,指针P移到下一个将要读取的比特位,读取的码流比特位如果值为1,则转到4);如果值为0,则转到5);4)设置当前节点的第K个子节点为当前节点,判断当前节点是否为叶子节点,如果是,则读取存储在该节点中的视频语法元素信息,并转到1);如果不是叶子节点,则转到2);5)令N=N-1,如果N=0,则令K=K+1,并转到4);否则转到3);6)结束当前码流的解码。
地址 100084北京市海淀区清华园