[发明专利]8x8残差系数块编码方法及系统有效
申请号: | 201610027150.0 | 申请日: | 2016-01-15 |
公开(公告)号: | CN105657421B | 公开(公告)日: | 2018-08-31 |
发明(设计)人: | 傅永杰 | 申请(专利权)人: | 珠海全志科技股份有限公司 |
主分类号: | H04N19/13 | 分类号: | H04N19/13;H04N19/70;H04N19/48;H04N19/433 |
代理公司: | 珠海智专专利商标代理有限公司 44262 | 代理人: | 林永协 |
地址: | 519085 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | x8 系数 编码 方法 系统 | ||
1.8x8残差系数块编码方法,该方法包括:
预处理步骤,对8x8残差系数块进行预处理;
处理步骤,将存储在SRAM中的所述8x8残差系数块拆解成多个语法元素,所述语法元素包括significant_coeff_flag、coeff_sign_flag、last_significant_coeff_flag以及coeff_abs_level_minus1;
存储步骤,存取所述8x8残差系数块;
编码步骤,对所述语法元素进行CABAC编码;
其特征在于:
所述预处理步骤包括参数计算步骤以及残差参数准备步骤,所述参数计算步骤包括确定所述8x8残差系数块的非零残差系数个数NOT_ZERO_NUM、确定所述8x8残差系数块的最后一个非零残差系数位置LAST_NZ_PST、确定当前所述8x8残差系数块的非零残差系数分布概况SIG_VAL以及确定所述8x8残差系数块可划分的4x4残差系数块个数LUMA_4x4_NUM;所述残差参数准备步骤包括缓存当前8x8残差系数块的部分数据;
所述存储步骤包括存取控制步骤,所述存取控制步骤控制两个FIFO模块对所述4x4残差系数块进行存取,所述FIFO模块根据所述非零残差系数个数NOT_ZERO_NUM确定对所述4x4残差系数块进行存取操作的时间/次数,两个所述FIFO模块分别是第一FIFO模块和第二FIFO模块,所述第一FIFO模块和所述第二FIFO模块之间采用乒乓的方式存取所述4x4残差系数块;
所述编码步骤包括第一编码步骤和第二编码步骤;
所述第一编码步骤包括对所述语法元素significant_coeff_flag和/或所述语法元素last_significant_coeff_flag进行CABAC编码;
所述第二编码步骤包括对所述语法元素coeff_abs_level_minus1和/或所述语法元素coeff_sign_flag进行CABAC编码;
编码步骤结束后,判断是否需要存储残差系数,如是,则返回执行所述存储步骤。
2.根据权利要求1所述的8x8残差系数块编码方法,其特征在于:
所述第一编码步骤还包括对所述FIFO模块进行写操作,包括根据所述参数计算步骤中的NOT_ZERO_NUM的数值确定对所述第一FIFO模块和/或所述第二FIFO模块的读写情况:
当NOT_ZERO_NUM<16时,按逆扫描方向将残差系数中的非零残差系数转换成语法元素coeff_abs_level_minus1和/或coeff_sign_flag后写入第一FIFO模块;
当16≦NOT_ZERO_NUM<32时,按逆扫描的方向将前16个处理后的残差系数写入所述第一FIFO模块,余下的残差系数经处理后写入所述第二FIFO模块中;
当NOT_ZERO_NUM>32时,按逆扫描的方向分别往所述第一FIFO模块和/或所述第二FIFO模块中写入16个经处理后的残差系数,记录未写入的非零残差系数的位置与个数,在coeff_abs_level_minus1、coeff_sign_flag编码阶段再将剩余的非零残差系数写入对应的第一FIFO模块和/或第二FIFO模块;
所述第二编码步骤还包括对所述FIFO模块进行写操作和/或读操作,包括根据所述参数计算步骤中的NOT_ZERO_NUM的数值确定对所述第一FIFO模块和/或所述第二FIFO模块的读写情况:
当NOT_ZERO_NUM<16时,语法元素coeff_abs_level_minus1和/或coeff_sign_flag编码开始时直接逐个读取所述第一FIFO模块中的残差系数进行CABAC编码,并不进行所述第一FIFO模块和/或所述第二FIFO模块的写操作;
当16≦NOT_ZERO_NUM<32时,依次读取所述第一FIFO模块和/或所述第二FIFO模块中存储的数据进行语法元素coeff_abs_level_minus1和/或coeff_sign_flag的编码,并不进行所述第一FIFO模块和/或所述第二FIFO模块的写操作;
当32 < NOT_ZERO_NUM ≦ 48时,先进行所述第一FIFO模块中存储的16个数据的读取以供编码使用,然后进行所述第二FIFO模块中数据的读取,在所述第二FIFO模块数据读取的过程中对所述第一FIFO模块写入之前未写入的LEFT_NUM个经过处理的残差系数,读取完所述第二FIFO模块中的数据后读取所述第一FIFO模块中的数据继续进行语法元素coeff_abs_level_minus1和/或coeff_sign_flag的CABAC编码;
当48 < NOT_ZERO_NUM ≦ 64时,先进行所述第一FIFO模块中存储的16个数据的读取以供编码使用,然后进行所述第二FIFO模块中存储的16个数据的读取,在所述第二FIFO模块读取数据的过程中对所述第一FIFO模块写入之前未写入的16个经过处理的残差系数,读取完所述第二FIFO模块中的数据后读取所述第一FIFO模块中的数据,在所述第一FIFO模块读取数据的过程中对所述第二FIFO模块写入之前未写入的LEFT_NUM个经过处理的残差系数,读取完所述第一FIFO模块中的数据后读取所述第二FIFO模块中的数据继续进行语法元素coeff_abs_level_minus1、coeff_sign_flag的CABAC编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海全志科技股份有限公司,未经珠海全志科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610027150.0/1.html,转载请声明来源钻瓜专利网。