发明名称 一种基于寄存器组的行程解码与反扫描实现方法
摘要 一种基于寄存器组的行程解码与反扫描的实现方法:在行程解码与IDCT之间仅使用寄存器组实现行程解码与反扫描,并可于反量化、IDCT流水工作。对于行程解码的按扫描顺序输入的32个前半部基本块系数,仅用其中非零系数更新寄存器组;对按扫描顺序输入的32个后半部基本块系数,逐个时钟覆盖寄存器组中已按反扫描顺序逐行或逐列输出的系数位置;对依据反扫描顺序的输出系数,当应读的系数对应为扫描顺序的32个后半部块数据时,根据写覆盖原则在寄存器组内寻址以得到当前的反扫描数据;同时根据记录解码EOB时的扫描顺序位置值,可提前结束寄存器组写操作且可在寄存器读时将部分输出值直接选0以减少寄存器组的读写功耗;当已输出64个块系数给IDCT后,对寄存器组复位至初值0。
申请公布号 CN100403802C 申请公布日期 2008.07.16
申请号 CN200610042757.2 申请日期 2006.04.30
申请人 西安交通大学 发明人 曾强;梅魁志;郑南宁;高剑;王西京
分类号 H04N7/30(2006.01);H04N7/26(2006.01) 主分类号 H04N7/30(2006.01)
代理机构 西安通大专利代理有限责任公司 代理人 李郑建
主权项 1.一种基于寄存器组的行程解码与反扫描实现方法,其特征在于:在行程解码与IDCT之间仅使用32×12Bit的寄存器组,构成行程解码、反扫描、反量化与IDCT的并行流水工作结构;上述32×12Bit的寄存器组,在工作中用于分时共享存放基本块的64个系数,读写时序上等价于同步双端口RAM;上述寄存器组的写策略为:寄存器组的初始值均为0,当对按扫描顺序输入的32个前半部块数据仅用其非零的系数更新完寄存器组后,对扫描顺序地址计数器Scanindex对应的0或非0系数,逐个时钟按寄存器组中32个前半部系数的反扫描输出顺序对寄存器组写覆盖;上述寄存器组的数据读策略:当Scanindex>31,并且IDCT接受输入时,开始依据反扫描的顺序,从上到下逐行或从左到右逐列读取块内数据;当按反扫描顺序的应读块内数据对应为扫描顺序的32个后半部块内数据时,根据写策略覆盖原则在寄存器组寻址得到当前的反扫描数据;上述寄存器组的低功耗读写方法是:记录解码EOB时的扫描顺序位置EOBindex,根据此值提前结束寄存器组写操作;同时在读时,当反扫描的输出数据对应的扫描顺序序号值>EOBindex时,输出数据直接为0;上述行程解码、反扫描、反量化与IDCT的并行流水工作结构,是使用按扫描顺序输入的32个前半部数据中的非零系数更新寄存器组后,且当IDCT标记为可接受输入时,将系数从寄存器组逐行或逐列按反扫描顺序读出给IDCT;同时继续从Run_Level对缓冲中读取后半部的Run-Level对解码,对寄存器组写覆盖已输出的前半部数据位置,其中,Run表示非零AC系数前连续零的个数,Level表示非零AC系数的值。
地址 710049陕西省西安市咸宁路28号