[发明专利]基于插值算法对称性H.264解码器的亮度插值方法无效
申请号: | 201010109019.1 | 申请日: | 2010-02-05 |
公开(公告)号: | CN101783947A | 公开(公告)日: | 2010-07-21 |
发明(设计)人: | 张多利;程贤文;杜高明;宋宇鲲;耿罗锋;贾靖华 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/50 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 汪祥虬 |
地址: | 230009 *** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于插值算法对称性H.264解码器的亮度插值方法,特征是根据插值位置判断插值点类型:如果插值点类型为水平插值点,利用矩阵的对称性并对9×9矩阵进行转置处理,则水平插值点类型转变为转置后矩阵的垂直插值点;如果插值点类型为垂直插值点类型,则插值点计算只需垂直插值点和水平插值点或水平垂直插值点中之一;因此可以复用水平半像素插值器和水平垂直半像素插值器。通过利用插值算法对称性,复用水平半像素内插滤波器和水平垂直半像素内插滤波器,减少了半像素内插滤波器的使用,从而在满足高数据吞吐率的前提下可以有效的降低H.264解码器中亮度插值模块超大规模集成实现时的硬件复杂度,减小芯片面积,节约成本。 | ||
搜索关键词: | 基于 算法 对称性 264 解码器 亮度 方法 | ||
【主权项】:
一种基于插值算法对称性复用半像素插值滤波器的H.264解码器的亮度插值方法,其特征在于按以下步骤对4x4大小的亮度块插值:先将插值点分为垂直插值点和水平插值点:设当前整像素点所在位置为位置0,横向正向连续相邻于位置0的三个插值点位置分别为位置1、位置2和位置3,竖向正向连续相邻于位置0的插值点位置分别为位置4、位置8和位置12,横向正向连续相邻于位置4的插值点位置分别为位置5、位置6和位置7,横向正向连续相邻于位置8的插值点位置分别为位置9、位置10和位置11,横向正向连续相邻于位置12的三个插值点位置分别为位置13、位置14和位置15;如果插值点位置属于位置1、2、3、6或位置14,则该插值点为水平插值点,如果插值点位置属于位置0、4、5、7、8、9、10、11、12、13或位置15,则该插值点为垂直插值点;再根据插值点类型进行数据存储:如果为垂直插值点,则将插值数据从帧存中读取出并按列存储到数据缓冲区中,插值点横坐标x和纵坐标y的值保持不变;如果为水平插值点,则将插值数据从帧存中读取出来并按行存储到数据缓冲区中,插值点的横坐标x和纵坐标y的值互换;再在第一个时钟周期内执行以下步骤:第一级流水线处理:将第一列九个整数像素点数据a00、a01、a02、a03、a04、a05、a06、a07和a08从数据缓冲区读出,并将第一列九个整数像素点数据中第一行至第六行整数像素点数据a00、a01、a02、a03、a04和a05送入第一行六抽头加法树滤波器fir1,将第一列九个整数像素点数据中第二行至第七行整数像素点数据a01、a02、a03、a04、a05和a06送入第二行六抽头加法树滤波器fir2,将第一列九个整数像素点中第三行至第八行整数像素点数据a02、a03、a04、a05、a06和a07送入第三行六抽头加法树滤波器fir3,将第一列九个整数像素点中第四行至第九行整数像素点数据a03、a04、a05、a06、a07和a08送入第四行六抽头加法树滤波器fir4,按以下公式b02=(a00-5*a01+20*a02+20*a03-5*a04+a05+16)/32b03=(a01-5*a02+20*a03+20*a04-5*a05+a06+16)/32b04=(a02-5*a03+20*a04+20*a05-5*a06+a07+16)/32b05=(a03-5*a04+20*a05+20*a06-5*a07+a08+16)/32并行算出第一列垂直半像素点的值并将结果通过寄存器reg寄存一级得第一列第一行垂直半像素点b02、第一列第二行垂直半像素点b03、第一列第三行垂直半像素点b04和第一列第四行垂直半像素点b05;将第一列九个整数像素点中第三行整数像素点a02送入第一列第一行寄存器组得该寄存器组输出reg1_u1等于a02,将第一列九个整数像素点中第四行整数像素点a03送入第一列第二行寄存器组得该寄存器组输出reg1_u2等于a03,将第一列九个整数像素点中第五行整数像素点a04送入第一列第三行寄存器组得该寄存器组输出reg1_u3等于a04,将第一列九个整数像素点中第六行整数像素点a05送入第一列第四行寄存器组得该寄存器组输出reg1_u4等于a05,将第一列九个整数像素点中第七行整数像素点a06送入第一列第五行寄存器组得该寄存器组输出reg1_u5等于a06;再在第二个时钟周期内执行以下步骤:第二级流水线处理:将第一列第一行寄存器组输出reg1_u1送入第二列第一行寄存器组得第二列第一行寄存器组输出reg2_u1等于a02,将第一列第二行寄存器组输出reg1_u2送入第二列第二行寄存器组得第二列第二行寄存器组输出reg2_u2等于a03,将第一列第三行寄存器组输出reg1_u3送入第二列第三行寄存器组得第二列第三行寄存器组输出reg2_u3等于a04,将第一列第四行寄存器组输出reg1_u4送入第二列第四行寄存器组得第二列第四行寄存器组输出reg2_u4等于a05,将第一列第五行寄存器组输出reg1_u5送入第二列第五行寄存器组得第二列第五行寄存器组输出reg2_u5等于a06;将第一列第一行垂直半像素点b02送入第二列第六行寄存器组得第二列第六行寄存器组输出reg2_u6等于b02,将第一列第二行垂直半像素点b03送入第二列第七行寄存器组得第二列第七行寄存器组输出reg2_u7等于b03,将第一列第三行垂直半像素点b04送入第二列第八行寄存器组得第二列第八行寄存器组输出reg2_u8等于b04,将第一列第四行垂直半像素点b05送入第二列第九行寄存器组得第二列第九行寄存器组输出reg2_u9等于b05;在该第二个时钟周期内的第一级流水线按第一个时钟周期内第一级流水线相同的方式进行处理,得第二列垂直半像素点b12、b13、b14和b15以及第一列寄存器组输出reg1_u1、reg1_u2、reg1_u3、reg1_u4和reg1_u5的值;再在第三、第四、第五、第六和第七个时钟周期内执行以下步骤:在各时钟周期内分别进行第三、四、五、六和第七级流水线处理:把第二列第一行寄存器组输出reg2_u1、第二列第二行寄存器组输出reg2_u2、第二列第六行寄存器组输出reg2_u6和第二列第一行垂直半像素点b12送入四输入逻辑处理单元1,经过以下处理得四输入逻辑处理单元1上行输出e02和四输入逻辑处理单元1下行输出f02;第一四输入逻辑处理单元mu1的处理过程如下,先按照公式c02=(reg2_u1+reg2_u6+1)>>1d02=(reg2_u2+reg2_u6+1)>>1算出均值处理单元1的输出c02和均值处理单元2的输出d02,然后把第二列第一行寄存器组输出reg2_u1、第二列第二行寄存器组输出reg2_u2、第二列第六行寄存器组输出reg2_u6、第二列第一行垂直半像素点b12、均值处理单元1输出c02和均值处理单元2输出d02送入六选二模块选择出第一四输入逻辑处理单元mu1上行输出e02和第一四输入逻辑处理单元mu1下行输出f02;其中六选二模块的选择过程如下:如果向量竖坐标y的值为1,则选择第一四输入逻辑处理单元mu1上行输出e02等于第二列第一行寄存器组输出reg2_u1,如果竖坐标y的值为2,则选择第一四输入逻辑处理单元mu1上行输出e02等于第二列第六行寄存器组输出reg2_u6,如果竖坐标y的值为3,则选择第一四输入逻辑处理单元mu1上行输出e02等于第二列第二行寄存器组输出reg2_u2,如果竖坐标y的值为0,则选择第一四输入逻辑处理单元mu1上行输出e02为等于0;如果向量横坐标x的值为1,则选择第一四输入逻辑处理单元mu1下行输出f02等于第二列第六行寄存器组输出reg2_u6,如果向量横坐标x的值为3,则选择第一四输入逻辑处理单元mu1下行输出f02等于第二列第一行垂直半像素点b12,当向量横坐标x的值为0,向量竖坐标y的值为0,则选择第一四输入逻辑处理单元mu1下行输出f02等于第二列第一行寄存器组输出reg2_u1,如果向量竖坐标y的值为1,则选择第一四输入逻辑处理单元mu1下行输出f02等于均值处理单元1的输出c02,如果向量竖坐标y的值为2,则选择第一四输入逻辑处理单元mu1下行输出f02等于第二列第六行寄存器组输出reg2_u6,如果向量竖坐标y的值为3,则选择第一四输入逻辑处理单元mu1下行输出f02等于均值处理单元2的输出d02,如果向量横坐标x的值为2,则选择第一四输入逻辑处理单元mu1下行输出f0等于0;按第一四输入逻辑处理单元mu1同样的操作,把第二列第二行寄存器组输出reg2_u2、第二列第三行寄存器组输出reg2_u3、第二列第七行寄存器组输出reg2_u7和第二列第二行垂直半像素点b13送入第二四输入逻辑处理单元mu2得第二四输入逻辑处理单元mu2上行输出e03和第二四输入逻辑处理单元mu2下行输出f03,把第二列第三行寄存器组输出reg2_u3、第二列第四行寄存器组输出reg2_u4、第二列第八行寄存器组输出reg2_u8和第二列第二行垂直半像素点b13送入第三四输入逻辑处理单元mu3得第三四输入逻辑处理单元mu3上行输出e04和第三四输入逻辑处理单元mu3下行输出f04,把第二列第四行寄存器组输出reg2_u4、第二列第五行寄存器组输出reg2_u5、第二列第九行寄存器组输出reg2_u9和第二列第三行垂直半像素点b14送入第四四输入逻辑处理单元mu4得第四四输入逻辑处理单元mu4上行输出e05和第四四输入逻辑处理单元mu4下行输出f05;将第一四输入逻辑处理单元mu1上行输出e02送入第一行六抽头脉动阵滤波器fir6_u1得第一行六抽头脉动阵滤波器fir6_u1输出u1_fir6,第二四输入逻辑处理单元mu2上行输出e03送入第二行六抽头脉动阵滤波器fir6_u2得第二行六抽头脉动阵滤波器fir6_u2输出u2_fir6,第三四输入逻辑处理单元mu3上行输出e04送入第三行六抽头脉动阵滤波器fir6_u3得第三行六抽头脉动阵滤波器fir6_u3输出u3_fir6,第四四输入逻辑处理单元mu4上行输出e05送入第四行六抽头脉动阵滤波器fir6_u4得第四行六抽头脉动阵滤波器fir6_u4输出u4_fir6;将第一四输入逻辑处理单元mu1的下行输出f02送入第三列第一行寄存器组,第三列第一行寄存器组将输出送入第四列第一行寄存器组,第四列第一行寄存器组将输出送入第五列第一行寄存器组,第五列第一行寄存器组将输出送入第六列第一行寄存器组得第六列第一行寄存器组输出reg6_u1,将第二四输入逻辑处理单元mu2的下行输出f03送入第三列第二行寄存器组,第三列第二行寄存器组将输出送入第四列第二行寄存器组,第四列第二行寄存器组将输出送入第五列第二行寄存器组,第五列第二行寄存器组将输出送入第六列第二行寄存器组得第六列第二行寄存器组输出reg6_u2,将第三四输入逻辑处理单元mu3的下行输出f04送入第三列第三行寄存器组,第三列第三行寄存器组将输出送入第四列第三行寄存器组,第四列第三行寄存器组将输出送入第五列第三行寄存器组,第五列第三行寄存器组将输出送入第六列第三行寄存器组得第六列第三行寄存器组输出reg6_u3,将第四四输入逻辑处理单元mu4的下行输出f05送入第三列第四行寄存器组,第三列第四行寄存器组将输出送入第四列第四行寄存器组,第四列第四行寄存器组将输出送入第五列第四行寄存器组,第五列第四行寄存器组将输出送入第六列第四行寄存器组得第六列第四行寄存器组输出reg6_u4;在各该时钟周期内的第一级流水线按第一个时钟周期内第一级流水线相同的方式进行处理,第二级流水线按第二个时钟周期内第二级流水线相同的方式进行处理;再在第八个时钟周期内执行以下步骤:第八级流水线处理:将第六列第一行寄存器组输出reg6_u1和第一行六抽头滤波器输出u1_fir6送入第一二输入逻辑处理单元mn1得第一列第一行内插点g02,将第六列第二行寄存器组输出reg6_u2和第二行六抽头滤波器输出u2_fir6送入第二二输入逻辑处理单元mn2得第一列第二行内插点g03,将第六列第三行寄存器组输出reg6_u3和第三行六抽头滤波器输出u3_fir6送入第三二输入逻辑处理单元mn3得第一列第三行内插点g04,将第六列第四行寄存器组输出reg6_u4和第四行六抽头滤波器输出u4_fir6送入第四二输入逻辑处理单元mn4得第一列第四行内插点g05;第一二输入逻辑处理单元mn1对第六列寄存器组输出reg6_u1与第一行六抽头滤波器输出u1_fir6的处理过程如下,将第六列第一行寄存器组输出reg6_u1与第一行六抽头滤波器输出u1_fir6送入均值处理单元3得均值处理单元3输出data_u1,将第六列第一行寄存器组输出reg6_u1、均值处理单元3输出data_u1和第一行六抽头滤波器输出u1_fir6送入三选一模块得第一列第一行内插点g02;三选一模块工作过程为:如果向量横坐标x的值为0,则第一列第一行内插点g02的值为第六列第一行寄存器组输出reg6_u1,如果向量横坐标x的值为2,则第一列第一行内插点g02的值为第一行六抽头滤波器输出u1_fir6,如果向量横坐标x的值为1或3,则第一列第一行内插点g02的值为均值处理单元3输出data_u1,按同样的步骤得出第一列第二行内插点g03、第一列第三行内插点g04和第一列第四行内插点g05;在该时钟周期内的第一、二、三、四、五、六、七级流水线仍按前面各时钟周期内的第一、二、三、四、五、六、七级流水线相同的方式进行处理;最后按流水线的运行次序依次算出第二列内插点g12、g13、g14和g15,第三列内插点g22、g23、g24和g25,第四列内插点g32、g33、g34和g35的值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010109019.1/,转载请声明来源钻瓜专利网。