LIN SIXIN (CN)
MA YANZHUO (CN)
KANG LIJUAN (CN)
YANG HAITAO (CN)
LIN SIXIN (CN)
MA YANZHUO (CN)
KANG LIJUAN (CN)
CN101594535A | 2009-12-02 | |||
CN101576865A | 2009-11-11 | |||
CN1784007A | 2006-06-07 | |||
CN101895676A | 2010-11-24 |
权 利 要 求 1、 一种参考帧压缩存储方法, 其特征在于, 包括: 以预定的压缩单元为基本压缩单元将参考帧进行压缩,得到多个定长比特 的压缩数据包; 判断用于存储所述参考帧的存储器的突发访问带宽是否小于所述存储器 的预设突发访问带宽,如果所述存储器的突发访问带宽小于或等于所述存储器 的预设突发访问带宽,将所述定长比特的压缩数据包在一个突发周期内存储在 所述存储器中。 2、 根据权利要求 1所述的方法, 其特征在于, 所述以预定的压缩单元为 基本压缩单元将参考帧进行压缩, 得到多个定长比特的压缩数据包, 包括: 以 2x 2像素块为基本压缩单元, 将参考帧划分为多个 2x 2像素块; 计算各 2x 2像素块包括的像素点的最大像素值与最小像素值之间的差值; 若所述 2x 2像素块包括的像素点的最大像素值与最小像素值之间的差值 小于第一预设阈值, 将所述 2x 2像素块中除所述最小像素值以外的每个像素 点的像素值与所述 2x 2像素块包括的像素点的最小像素值之间的差值以少于 8 比特的固定比特位数表示; 将所述 2 x 2像素块中除最小像素值以外的每个像素点的像素值与所述 2 x 2像素块包括的像素点的最小像素值之间的差值以少于 8比特的固定比特位 数表示; 将所述 2 x 2像素块封装为长度为 32比特的数据包, 所述 32比特的数据 包包括用于无失真地表示所述最小像素值的固定 10比特、 用于表示所述最小 像素值的位置信息的 2比特、 用于表示所述 2x 2像素块中除所述最小像素值 以外的三个像素点的像素值与所述最小像素值之间的差值的 18比特、 以及 2 比特的相关标记信息。 3、 根据权利要求 1或 2所述的方法, 其特征在于, 还包括: 如果所述存储器的突发访问带宽大于所述存储器的预设突发访问带宽,按 照预定的扫描规则将所述存储器中的 4 个所述定长比特的压缩数据包组合成 为 1个长度为所述定长比特的压缩数据包的比特位数的 4倍的定长存储单元; 将所述定长存储单元在一个突发周期内存储在所述存储器中。 4、 根据权利要求 3所述的方法, 其特征在于, 所述按照预定的扫描规则 将所述存储器中的 4个所述定长比特的压缩数据包组合成为 1个长度为所述定 长比特的压缩数据包的比特位数的 4倍的定长存储单元, 包括: 将所述存储器中位置分别为: i X width+j,i χ width+G+l),(i+l) x width+j, (i+l) x width+(j+l)的 4个定长比特的压缩数据包组合成为 1个长度为所述定长 比特的压缩数据包的比特位数的 4倍的定长存储单元, 其中, width表示所述 参考帧的宽度的 l/log2N, N表示所述压缩单元包括的像素数, i能够被 2整除, j能够被 2整除。 5、 一种参考帧压缩存储装置, 其特征在于, 包括: 压缩模块, 用于以预定的压缩单元为基本压缩单元将参考帧进行压缩,得 到多个定长比特的压缩数据包; 第一判断模块,用于判断用于存储所述参考帧的存储器的突发访问带宽是 否小于所述存储器的预设突发访问带宽; 存储模块,用于当所述存储器的突发访问带宽小于或等于所述存储器的预 设突发访问带宽时,将所述定长比特的压缩数据包在一个突发周期内存储在所 述存储器中。 6、 根据权利要求 5所述的装置, 其特征在于, 所述压缩模块包括 划分单元, 用于以 2x 2像素块为基本单元, 将参考帧划分为多个 2x 2像 素块; 计算单元, 用于计算各 2x 2像素块包括的像素点的最大像素值与最小像 素值之间的差值; 表示单元, 用于当所述 2x 2像素块包括的像素点的最大像素值与最小像 素值之间的差值小于第一预设阈值时, 将所述 2x 2像素块中除所述最小像素 值以外的每个像素点的像素值与所述 2x 2像素块包括的像素点的最小像素值 之间的差值以少于 8比特的固定比特位数表示; 所述表示单元, 还用于将所述 2x 2像素块中除最小像素值以外的每个像 素点的像素值与所述 2x 2像素块包括的像素点的最小像素值之间的差值以少 于 8比特的固定比特位数表示; 封装单元, 用于将所述 2x 2像素块封装为长度为 32比特的数据包, 所述 32比特的数据包包括用于无失真地表示所述最小像素值的固定 10比特、 用于 表示所述最小像素值的位置信息的 2比特、 用于表示所述 2x 2像素块中除所 述最小像素值以外的三个像素点的像素值与所述最小像素值之间的差值的 18 比特、 以及 2比特的相关标记信息。 7、 根据权利要求 5或 6所述的装置, 其特征在于, 还包括: 组合模块,用于当所述存储器的突发访问带宽大于所述存储器的预设突发 访问带宽时,按照预定的扫描规则将所述存储器中的 4个所述定长比特的压缩 数据包组合成为 1个长度为所述定长比特的压缩数据包的比特位数的 4倍的定 长存储单元; 所述存储模块,还用于将所述定长存储单元在一个突发周期内存储在所述 存储器中。 8、 根据权利要求 7所述的装置, 其特征在于, 所述组合模块, 具体用于 将所述存储器中位置分别为: i X width+j,i χ width+G+l),(i+l) x width+j, (i+l)x width+(j+l)的 4个定长比特的压缩数据包组合成为 1个长度为所述定长 比特的压缩数据包的比特位数的 4倍的定长存储单元, 其中, width表示所述 参考帧的宽度的 l/log2N, N表示所述压缩单元包括的像素数, i能够被 2整除, j能够被 2整除。 9、 一种参考帧解压方法, 其特征在于, 包括: 在一个突发周期内从存储器中读取将参考帧压缩后的定长比特的压缩数 据包; 判断所述定长比特的压缩数据包的大小是否小于或等于第二预设阈值,若 所述定长比特的压缩数据包的大小小于或等于所述第二阈值,以所述定长比特 的压缩数据包作为基本解压单元将所述参考帧进行解压。 10、 根据权利要求 9所述的方法, 其特征在于, 所述若所述定长比特的压 缩数据包的大小小于或等于所述第二阈值,以所述定长比特的压缩数据包作为 基本解压单元将所述参考帧进行解压, 包括: 若所述定长比特的压缩数据包的大小为 32比特,读取所述 32比特的压缩 数据包的相关标记信息, 并 4艮据所述 32比特的压缩数据包的相关标记信息, 计算所述 32比特的压缩数据包对应的映射值; 若所述 32比特的压缩数据包对应的映射值小于第一预设阈值, 读取所述 32比特的压缩数据包中长度为固定 10比特的比特数, 所述长度为 10比特的 比特数无失真地表示 2x 2像素块包括的像素点的最小像素值; 读取所述 32比特的压缩数据包中用于表示所述最小像素值的位置信息的 长度为 2比特的比特数,根据所述用于表示所述最小像素值的位置信息的长度 为 2比特的比特数, 获得所述 2 x 2像素块中除所述最小像素值以外的每个像 素点的位置信息; 按照少于 8比特的固定比特位数读取用于表示所述 2x 2像素块中除所述 最小像素值以外的三个像素点的像素值与所述最小像素值之间的差值的 18比 特, 获得用于表示所述 2x 2像素块中除所述最小像素值以外的每个像素点的 像素值与所述最小像素值之间的差值的比特数; 根据所述用于表示所述 2x 2像素块中除所述最小像素值以外的每个像素 点的像素值与所述最小像素值之间的差值的比特数, 以及所述 2x 2像素块中 除所述最小像素值以外的每个像素点的位置信息, 获得所述 2x 2像素块中除 所述最小像素值以外的每个像素点的像素值。 11、 根据权利要求 9或 10所述的方法, 其特征在于, 还包括: 若所述定长比特的压缩数据包的大小大于所述第二阈值,将所述定长比特 的压缩数据包平均分割为 4个定长比特的数据包; 获得需要恢复的 4x 4存储单元在所述参考帧中的起始点位置; 根据所述需要恢复的 4 x 4存储单元在所述参考帧中的起始点位置, 获得 所述需要恢复的 4x 4存储单元中包括的 4个定长比特的数据包在所述参考帧 中的位置; 根据预定的反扫描规则,计算所述 4个定长比特的数据包在所述需要恢复 的 4 x 4存储单元中的位置; 根据所述 4个定长比特的数据包在所述需要恢复的 4x 4存储单元中的位 置, 将所述 4个定长比特的数据包存放在所述需要恢复的 4x 4存储单元中。 12、 根据权利要求 11所述的方法, 其特征在于, 所述若所述定长比特的 压缩数据包的大小大于所述第二阈值,将所述定长比特的压缩数据包平均分割 为 4个定长比特的数据包, 包括: 若所述定长比特的压缩数据包的大小为 128比特,将所述 128比特的压缩 数据包平均分割为 4个 32比特的数据包。 13、根据权利要求 12所述的方法,其特征在于,所述获得需要恢复的 4x 4 存储单元在所述参考帧中的起始点位置, 根据所述需要恢复的 4x 4存储单元 在所述参考帧中的起始点位置,获得所述需要恢复的 4x 4存储单元中包括的 4 个定长比特的数据包在所述参考帧中的位置, 包括: 获得所述需要恢复的 4 x 4压缩单元在所述参考帧中的起始点坐标; 根据所述需要恢复的 4 x 4压缩单元在所述参考帧中的起始点坐标, 计算 所述需要恢复的 4 x 4压缩单元包括的 4个 32比特的数据包在所述参考帧中的 坐标。 14、 根据权利要求 12所述的方法, 其特征在于, 所述根据预定的反扫描 规则, 计算所述 4个定长比特的数据包在所述需要恢复的 4x 4存储单元中的 位置, 包括: 根据预定的反扫描规则, 计算所述需要恢复的 4x 4存储单元中包括的 4 个 32 比特的数据包在所述 4 x 4 存储单元的位置分别 为 : i X width+j ,i χ width+(j + 1 ), (i+ 1 ) x width+j , (i+l) x width+(j+l), 其中, width表示所 述参考帧的宽度的 l/log2N, N表示所述压缩单元包括的像素数, i能够被 2整 除, j能够被 2整除。 15、 一种参考帧解压装置, 其特征在于, 包括: 读取模块,用于在一个突发周期内从存储器中读取将参考帧压缩后的定长 比特的压缩数据包; 第二判断模块,用于判断所述定长比特的压缩数据包的大小是否小于或等 于第二预设阈值; 解压模块,用于当所述定长比特的压缩数据包的大小小于或等于所述第二 阈值时,以所述定长比特的压缩数据包作为基本解压单元将所述参考帧进行解 压。 16、 根据权利要求 15所述的装置, 其特征在于, 所述解压模块包括: 读取单元, 用于当所述定长比特的压缩数据包的大小为 32比特时, 读取 所述 32比特的压缩数据包的相关标记信息; 计算单元, 用于并根据所述 32比特的压缩数据包的相关标记信息, 计算 所述 32比特的压缩数据包对应的映射值; 所述读取单元, 还用于当所述 32比特的压缩数据包对应的映射值小于第 一预设阈值时,读取所述 32比特的压缩数据包中长度为固定 10比特的比特数, 所述长度为 10比特的比特数无失真地表示 2x 2像素块包括的像素点的最小像 素值; 所述读取单元, 还用于读取所述 32比特的压缩数据包中用于表示所述最 小像素值的位置信息的长度为 2比特的比特数; 获得单元, 用于根据所述用于表示所述最小像素值的位置信息的长度为 2 比特的比特数, 获得所述 2x 2像素块中除所述最小像素值以外的每个像素点 的位置信息; 所述读取单元,还用于按照少于 8比特的固定比特位数读取用于表示所述 2 x 2像素块中除所述最小像素值以外的三个像素点的像素值与所述最小像素 值之间的差值的 18比特; 所述获得单元, 还用于获得用于表示所述 2x 2像素块中除所述最小像素 值以外的每个像素点的像素值与所述最小像素值之间的差值的比特数; 所述获得单元, 还用于根据所述用于表示所述 2x 2像素块中除所述最小 像素值以外的每个像素点的像素值与所述最小像素值之间的差值的比特数,以 及所述 2x 2像素块中除所述最小像素值以外的每个像素点的位置信息, 获得 所述 2x 2像素块中除所述最小像素值以外的每个像素点的像素值。 17、 根据权利要求 15或 16所述的装置, 其特征在于, 还包括: 分割模块, 用于当所述定长比特的压缩数据包的大小大于所述第二阈值 时, 将所述定长比特的压缩数据包平均分割为 4个定长比特的数据包; 获得模块, 用于获得需要恢复的 4x 4存储单元在所述参考帧中的起始点 位置; 所述获得模块, 还用于根据所述需要恢复的 4x 4存储单元在所述参考帧 中的起始点位置, 获得所述需要恢复的 4 x 4存储单元中包括的 4个定长比特 的数据包在所述参考帧中的位置; 计算模块, 用于根据预定的反扫描规则,计算所述 4个定长比特的数据包 在所述需要恢复的 4x 4存储单元中的位置; 存放模块, 用于根据所述 4 个定长比特的数据包在所述需要恢复的 4x 4 存储单元中的位置,将所述 4个定长比特的数据包存放在所述需要恢复的 4x 4 存储单元中。 18、 根据权利要求 17所述的装置, 其特征在于, 所述分割模块, 具体用 于当若所述定长比特的压缩数据包的大小为 128比特时,将所述 128比特的压 缩数据包平均分割为 4个 32比特的数据包。 19、 根据权利要求 18所述的装置, 其特征在于, 所述获得模块, 包括: 获得单元, 用于获得所述需要恢复的 4x4压缩单元在所述参考帧中的起 始点坐标; 计算单元, 用于根据所述需要恢复的 4x4压缩单元在所述参考帧中的起 始点坐标, 计算所述需要恢复的 4x4压缩单元包括的 4个 32比特的数据包在 所述参考帧中的坐标。 20、 根据权利要求 18所述的装置, 其特征在于, 所述计算模块, 具体用 于根据预定的反扫描规则, 计算所述需要恢复的 4x4存储单元中包括的 4个 32 比特的数据 包在所述 4 x 4 存储单元的位置分别 为 : i X width+j ,i χ width+(j + 1 ), (i+ 1 ) x width+j , (i+l)x width+(j+l), 其中, width表示所 述参考帧的宽度的 l/log2N, N表示所述压缩单元包括的像素数, i能够被 2整 除, j能够被 2整除。 |
一种参考帧压缩存储和解压方法及装置
本申请要求于 2011 年 07 月 14 日提交中国专利局、 申请号为 201110197621.X, 发明名称为 "一种参考帧压缩存储和解压方法及装置" 的中 国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及视频压缩技术领域,特别涉及一种 参考帧压缩存储和解压方法 及装置。 背景技术
视频信号的传输由于信息量大, 特别是当视频信号以大于 8比特位数表示 时, 传输宽带要求高, 如果直接对视频信号进行传输, 以现在的传输宽带来看 4艮难达到, 所以就要求我们在视频信号传输前先进行压缩 编码, 即进行视频源 压缩编码, 然后再传送以节省带宽和存储空间。通常在视 频信号传输的发送端 和接收端会有视频编码器 /视频解码器, 应用视频编解码技术对视频信号进行 编解码处理。 这里的发送端或者接收端可以是移动电话, 数字电话终端, 无线 装置, 个人数据助理(PDA ), 手持式或便携式计算机, GPS接收机 /导航器, 照相机, 音频 /视频播放器, 摄像机, 录像机, 监控设备等大量统计表明, 同 一幅图像中的像素之间有很强的相关性, 两个像素值之间的差值越小, 则两个 像素之间的相关性越强。
在 HEVC ( High Efficiency Video Coding, 高效视频编码 )编码技术中, IBDI ( Internal Bit-Depth Increase, 编码过程内部比特深度提高 )技术带来了编 码效率的提高, 但是也造成了内存访问带宽的大幅增加。
现有技术中以 4 x 4像素块为基本压缩单元进行计算, 根据所述 4 x 4像素块 的最大值与最小值之间差值 d的大小采用不同的压缩方法, 将所述 4 x 4像素块 压缩为多个 128比特的数据包, 可以保证存储器的数据访问效率。 考虑到降低 存储器的额外带宽开销和随机访问的数据冗余 , 可以将所述 4 x 4像素块进行分 割, 以保证数据的存储精度, 减少随机访问的数据冗余。
在实现本发明的过程中, 发明人发现现有技术中至少存在如下问题: - - 现有技术中以 4x 4像素块为基本压缩单元的压缩存储方法, 可以保证存储 器的数据访问效率, 但是无法保证数据的存储精度, 如果将所述 4x 4像素块进 行分割, 无法保证存储器的数据访问效率, 随机访问的数据冗余也会变大。 发明内容
本发明的实施例提供一种参考帧压缩存储和解 压方法及装置,既可以提高 存储器的数据存储精度, 减少随机访问冗余, 又能够保证存储器的数据访问效 率。
本发明实施例采用的技术方案为:
一种参考帧压缩存储方法, 包括:
以预定的压缩单元为基本压缩单元将参考帧进 行压缩,得到多个定长比特 的压缩数据包;
判断用于存储所述参考帧的存储器的突发访问 带宽是否小于所述存储器 的预设突发访问带宽,如果所述存储器的突发 访问带宽小于或等于所述存储器 的预设突发访问带宽,将所述定长比特的压缩 数据包在一个突发周期内存储在 所述存储器中。
一种参考帧压缩存储装置, 包括:
压缩模块, 用于以预定的压缩单元为基本压缩单元将参考 帧进行压缩,得 到多个定长比特的压缩数据包;
第一判断模块,用于判断用于存储所述参考帧 的存储器的突发访问带宽是 否小于所述存储器的预设突发访问带宽;
存储模块,用于当所述存储器的突发访问带宽 小于或等于所述存储器的预 设突发访问带宽时,将所述定长比特的压缩数 据包在一个突发周期内存储在所 述存储器中。
一种参考帧解压方法, 包括:
在一个突发周期内从存储器中读取将参考帧压 缩后的定长比特的压缩数 据包;
判断所述定长比特的压缩数据包的大小是否小 于或等于第二预设阈值,若 所述定长比特的压缩数据包的大小小于或等于 所述第二阈值,以所述定长比特 - - 的压缩数据包作为基本解压单元将所述参考帧 进行解压。
一种参考帧解压装置, 包括:
读取模块,用于在一个突发周期内从存储器中 读取将参考帧压缩后的定长 比特的压缩数据包;
第二判断模块,用于判断所述定长比特的压缩 数据包的大小是否小于或等 于第二预设阈值;
解压模块,用于当所述定长比特的压缩数据包 的大小小于或等于所述第二 阈值时,以所述定长比特的压缩数据包作为基 本解压单元将所述参考帧进行解 压。
本发明实施例提供的参考帧压缩存储和解压方 法及装置,以预定的压缩单 元为基本压缩单元将参考帧进行压缩,得到多 个定长比特的压缩数据包, 当该 存储器的突发访问带宽小于或等于存储器的预 设突发访问带宽时,将该定长比 特的压缩数据包存储在该存储器, 既可以提高存储器的数据存储精度, 减少随 机访问冗余, 又能够保证存储器的数据访问效率。 附图说明
为了更清楚地说明本发明实施例中的技术方案 ,下面将对实施例或现有技 术描述中所需要使用的附图作筒单地介绍,显 而易见地, 下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技 术人员来讲,在不付出创造性劳 动的前提下, 还可以根据这些附图获得其它的附图。
图 1为本发明实施例一提供的参考帧压缩存储方 流程图;
图 2为本发明实施例二提供的参考帧压缩存储方 流程图;
图 3为本发明实施例三提供的参考帧压缩存储方 流程图;
图 4为本发明实施例三提供的参考帧在存储器中 存储结构示意图; 图 5为本发明实施例三提供的定长比特的存储单 示意图;
图 6为本发明实施例四提供的参考帧压缩存储装 结构示意图;
图 7为本发明实施例四提供的参考帧压缩存储装 结构示意图;
图 8为本发明实施例五提供的参考帧压缩存储装 结构示意图;
图 9为本发明实施例六提供的参考帧解压方法流 图; - - 图 10为本发明实施例七提供的参考帧解压方法流 图;
图 11为本发明实施例八提供的参考帧解压装置结 示意图;
图 12为本发明实施例八提供的参考帧解压装置结 示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明 实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其它实施例, 都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结 合附图和实施例对本发明作 详细说明。
数字信号处理领域, 视频编解码器广泛应用于各种电子设备中, 例如: 移 动电话, 无线装置, 个人数据助理(PDA ), 手持式或便携式计算机, GPS接 收机 /导航器, 照相机, 音频 /视频播放器, 摄像机, 录像机, 监控设备等。 通 常, 这类电子设备中包括视频编码器或视频解码器 ,视频编码器或视频解码器 可以直接由数字电路或芯片例如 DSP ( digital signal processor )实现, 或者由软 件代码驱动处理器执行软件代码中的流程而实 现。
实施例一
本实施例提供一种参考帧压缩存储方法, 如图 1所示, 所述方法包括: 101、 以预定的压缩单元为基本压缩单元将参考帧进 行压缩, 得到多个定 长比特的压缩数据包;
102、 判断用于存储所述参考帧的存储器的突发访问 带宽是否小于所述存 储器的预设突发访问带宽,如果所述存储器的 突发访问带宽小于或等于所述存 储器的预设突发访问带宽,将所述定长比特的 压缩数据包在一个突发周期内存 储在所述存储器中。
进一步地,在将所述定长比特的压缩数据包在 一个突发周期内存储到所述 存储器中之后, 将所述定长比特的压缩数据包发送到接收端。
本发明实施例提供的参考帧压缩存储方法,以 预定的压缩单元为基本压缩 单元将参考帧进行压缩,得到多个定长比特的 压缩数据包, 判断用于存储所述 - - 参考帧的存储器的突发访问带宽是否小于所述 存储器的预设突发访问带宽,如 果该存储器的突发访问带宽小于或等于存储器 的预设突发访问带宽,将所述定 长比特的压缩数据包在一个突发周期内存储在 该存储器中。 和现有技术相比, 本发明实施例提供的参考帧压缩存储方法,当 该存储器的突发访问带宽小于或 等于存储器的预设突发访问带宽,将所述定长 比特的压缩数据包存储在该存储 器中。 可以提高存储器的数据存储精度, 减少随机访问冗余。
实施例二
本实施例提供一种参考帧压缩存储方法, 如图 2所示, 所述方法包括: 201、 以 2x 2像素块为基本单元, 将参考帧划分为多个 2x 2像素块;
202、 计算各 2 x 2像素块包括的像素点的最大像素值与最小像 值之间的 差值;
203、 若所述 2 x 2像素块包括的像素点的最大像素值与最小像 值之间的 差值小于第一预设阈值, 将所述 2 X 2像素块中除所述最 d、像素值以外的每个像 素点的像素值与所述 2 χ 2像素块包括的像素点的最小像素值之间的差 以少 于 8比特的固定比特位数表示;
204、 将所述 2 X 2像素块中除最小像素值以外的每个像素点的 素值与所 述 2 x 2像素块包括的像素点的最小像素值之间的差 以少于 8比特的固定比特 位数表示;
205、 将所述 2 x 2像素块封装为长度为 32比特的数据包, 所述 32比特的数 据包包括用于无失真地表示所述最小像素值的 固定 10比特、用于表示所述最小 像素值的位置信息的 2比特、 用于表示所述 2 x 2像素块中除所述最小像素值以 外的三个像素点的像素值与所述最小像素值之 间的差值的 18比特、 以及 2比特 的相关标记信息;
206、 判断用于存储所述参考帧的存储器的突发访问 带宽是否小于所述存 储器的预设突发访问带宽,如果所述存储器的 突发访问带宽小于或等于所述存 储器的预设突发访问带宽,将所述 32比特的数据包在一个突发周期内存储在所 述存储器中。
例如, 以 2 x 2像素块为基本压缩单元, 将参考帧划分为多个 2 x 2像素块, 计算各 2 x 2像素块包括的像素点的最大像素值与最小像 值之间的差值 d, 当 - - 所述 2 x 2像素块包括的像素点的最大像素值与最小像 值之间的差值小于 2 6 时, 直接将所述 2 χ 2像素块中除所述最小像素值以外的每个像素 的像素值与 所述 2 X 2像素块包括的像素点的最小像素值之间的差 以 6比特位数表示, 根 据计算结果: 2 ( flag ) +10 ( min ) +2 ( minldx ) +6>< 3 ( difference ) =32, 将所 述 2 x 2像素块封装为长度为 32比特的压缩数据包, 其中, flag表示相关标记信 息, min表示所述 2x 2像素块包括的像素点的最小像素值, minldx表示所述最小 像素值的位置信息, difference表示所述 2 x 2像素块包括的像素点的最大像素值 与最小像素值之间的差值,判断用于存储所述 参考帧的存储器的突发访问带宽 是否小于所述存储器的预设突发访问带宽,如 果所述存储器的突发访问带宽小 于或等于所述存储器的预设突发访问带宽,将 所述 32比特的压缩数据包在一个 突发周期内存储在所述存储器中。
本发明实施例提供的参考帧压缩存储方法, 以 2 X 2像素块为基本压缩单 元, 将参考帧划分为多个 2 x 2像素块, 当 2 x 2像素块包括的像素点的最大像素 值与最小像素值之间的差值小于第一预设阈值 时, 直接将所述 2χ 2像素块中除 所述最小像素值以外的每个像素点的像素值与 所述 2 x 2像素块包括的像素点 的最小像素值之间的差值 6比特表示, 将所述 2 x 2像素块封装为长度为 32比特 的数据包,当用于存储所述参考帧的存储器的 突发访问带宽小于或等于存储器 的预设突发访问带宽时,将所述 32比特的压缩数据包在一个突发周期内存储在 该存储器中。 和现有技术相比, 本发明实施例提供的参考帧压缩存储方法, 可 以提高存储器的数据存储精度, 减少随机访问冗余。
实施例三
本实施例提供一种参考帧压缩存储方法, 如图 3所示, 所述方法包括: 301、 以预定的压缩单元为基本压缩单元将参考帧进 行压缩, 得到多个定 长比特的压缩数据包;
302、 判断用于存储所述参考帧的存储器的突发访问 带宽是否小于所述存 储器的预设突发访问带宽,如果所述存储器的 突发访问带宽大于所述存储器的 预设突发访问带宽, 按照预定的扫描规则将所述存储器中的 4个所述定长比特 的压缩数据包组合成为 1个长度为所述定长比特的压缩数据包的比特 数的 4 倍的定长存储单元; 303、 将所述定长存储单元在一个突发周期内存储在 所述存储器中。
例如, 以 2x2像素块为基本压缩单元, 将参考帧划分为多个 2x2像素块, 将所述 2x2像素块封装为长度为 32比特的数据包, 判断用于存储所述参考帧的 存储器的突发访问带宽是否小于所述存储器的 预设突发访问带宽,如果存储器 的突发访问带宽大于所述存储器的预设突发访 问带宽,将所述存储器中位置分 别为: i X width+j ,i χ width+(j+ 1 ), (i+ 1 ) x width+j , (i+l)x width+(j+ 1 )的 4个 32比特的 压缩数据包组合成为 1个长度为 128比特的存储单元, 其中, width表示所述参 考帧的宽度的 l/log 2 N, N表示所述压缩单元包括的像素数, i能够被 2整除, j 能够被 2整除。 具体地, 如图 4所示, 图中数据包 1, 2, 3, 4...表示所述参考帧 以 2x2像素块为基本压缩单元存储在所述存储器中 , 当用于存储所述参考帧的 存储器的突发访问带宽大于所述存储器的预设 突发访问带宽时,由于数据是不 连续存储的, 导致存储器的访问效率降低, 如果此时要读取数据包 1, 2, 9, 10, 在第一个突发访问过程中只能先读取数据包 1, 2, 8,再读取数据包 9, 10, 11, 其中 3, 4, ...,8为冗余数据, 造成存储器的访问效率不高。 例如, 将 width取值为 8, i取值为 0, j取值为 1, 根据上述公式计算得到 0>< 8+1=1 , 0x8+2=2, 1x8+1=9, 1>< 8+2=10, 如图 5所示, 将数据包 1, 2, 9, 10组合成为 一个 128比特的存储单元, 将所述 128比特的存储单元, 将所述 128比特的定长 存储单元在一个突发周期内存储在所述存储器 中。
或者, 以 4x4像素块为基本压缩单元为例, 将参考帧划分为多个 4x4像素 块, 将所述 4x4像素块封装为长度为 128比特的数据包, 判断用于存储所述参 考帧的存储器的突发访问带宽是否小于所述存 储器的预设突发访问带宽,如果 存储器的突发访问带宽大于所述存储器的预设 突发访问带宽,按照预设的扫描 规则将所述 4个 128比特的压缩数据包组合成为 1个 512比特的存储单元,将所述 512比特的存储单元在一个突发周期内存储在所 述存储器中。
本发明实施例提供的参考帧压缩存储方法,当 存储器的突发访问带宽大于 所述存储器的预设突发访问带宽时, 按照预定的扫描规则将所述存储器中的 4 个所述定长比特的压缩数据包组合成为 1个长度为所述定长比特的压缩数据包 的比特位数的 4倍的定长存储单元, 将所述定长存储单元在一个突发周期内存 储在该存储器中。和现有技术相比,本发明实 施例提供的参考帧压缩存储方法, - - 既可以提高存储器的数据存储精度, 减少随机访问冗余, 又能够保证存储器的 数据访问效率。
实施例四
本实施例提供一种参考帧压缩存储装置, 如图 6所示, 所述参考帧压缩存 储装置包括:
压缩模块 601,用于以预定的压缩单元为基本压缩单元将 考帧进行压缩, 得到多个定长比特的压缩数据包;
第一判断模块 602, 用于判断用于存储所述参考帧的存储器的突发 访问带 宽是否小于所述存储器的预设突发访问带宽;
存储模块 603, 用于当所述存储器的突发访问带宽小于或等于 所述存储器 的预设突发访问带宽时,将所述定长比特的压 缩数据包在一个突发周期内存储 在所述存储器中。
进一步的, 如图 7所示, 所述压缩模块 401包括:
划分单元 6011, 用于以 2x2像素块为基本单元, 将参考帧划分为多个 2x2 像素块;
计算单元 6012, 用于计算各 2x2像素块包括的像素点的最大像素值与最小 像素值之间的差值;
表示单元 6013, 用于当所述 2x2像素块包括的像素点的最大像素值与最小 像素值之间的差值小于第一预设阈值时, 将所述 2x2像素块中除所述最小像素 值以外的每个像素点的像素值与所述 2 X 2像素块包括的像素点的最小像素值 之间的差值以少于 8比特的固定比特位数表示;
所述表示单元 6013, 还用于将所述 2x2像素块中除最小像素值以外的每个 像素点的像素值与所述 2 X 2像素块包括的像素点的最小像素值之间的差 以 少于 8比特的固定比特位数表示;
封装单元 6014, 用于将所述 2x2像素块封装为长度为 32比特的数据包, 所 述 32比特的数据包包括用于无失真地表示所述最 像素值的固定 10比特、用于 表示所述最小像素值的位置信息的 2比特、 用于表示所述 2x2像素块中除所述 最小像素值以外的三个像素点的像素值与所述 最小像素值之间的差值的 18比 特、 以及 2比特的相关标记信息。 - - 进一步的, 如图 7所示, 所述参考帧压缩存储装置还包括:
组合模块 604, 用于当所述存储器的突发访问带宽大于所述存 储器的预设 突发访问带宽时, 按照预定的扫描规则将所述存储器中的 4个所述定长比特的 压缩数据包组合成为 1个长度为所述定长比特的压缩数据包的比特 数的 4倍 的定长存储单元;
所述存储模块 603 , 还用于将所述定长存储单元在一个突发周期内 存储在 所述存储器中。
进一步的, 所述组合模块 604, 具体用于将所述存储器中位置分别为: i X width+j ,i χ width+(j+ 1 ) , (i+ 1 ) x width+j , (i+ 1 ) x width+(j + 1 )的 4个定长比特的压缩 数据包组合成为 1个长度为所述定长比特的压缩数据包的比特 数的 4倍的定 长存储单元, 其中, width表示所述参考帧的宽度的 l/log 2 N, N表示所述压缩单 元包括的像素数, i能够被 2整除, j能够被 2整除。
本发明实施例提供的参考帧压缩存储装置,通 过压缩模块以预定的压缩单 元为基本压缩单元将参考帧进行压缩,得到多 个定长比特的压缩数据包,通过 第一判断模块判断用于存储所述参考帧的存储 器的突发访问带宽是否小于存 储器的预设突发访问带宽,如果该存储器的突 发访问带宽小于或等于存储器的 预设突发访问带宽,通过存储模块将所述定长 比特的压缩数据包在一个突发周 期内存储在该存储器中。和现有技术相比, 本发明实施例提供的参考帧压缩存 储装置,当所述存储器的突发访问带宽小于或 等于存储器的预设突发访问带宽 时,将所述定长比特的压缩数据包存储在该存 储器中。既可以提高存储器的数 据存储精度, 减少随机访问冗余, 又能够保证存储器的数据访问效率。。
实施例五
本实施例提供一种参考帧解压方法, 如图 8所示, 所述方法包括:
801、 在一个突发周期内从存储器中读取将参考帧压 缩后的定长比特的压 缩数据包;
802、 判断所述定长比特的压缩数据包的大小是否小 于或等于第二预设阈 值, 若所述定长比特的压缩数据包的大小小于或等 于所述第二阈值, 以所述定 长比特的压缩数据包作为基本解压单元将所述 参考帧进行解压。
本发明实施例提供的参考帧解压方法,在一个 突发周期内从存储器的存储 - - 单元中读取将参考帧压缩后的定长比特的压缩 数据包,判断所述定长比特的压 缩数据包的大小是否小于或等于第二预设阈值 ,若所述定长比特的压缩数据包 的大小小于或等于所述第二阈值,以所述定长 比特的压缩数据包作为基本解压 单元将所述参考帧进行解压。和现有技术相比 , 本发明实施例提供的参考帧解 压方法, 当所述定长比特的压缩数据包的大小小于或等 于所述第二阈值时, 以 所述定长比特的压缩数据包作为基本解压单元 将所述参考帧进行解压,既可以 提高存储器的数据存储精度, 减少随机访问冗余, 又能够保证存储器的数据访 问效率。
实施例六
本实施例提供一种参考帧解压方法, 如图 9所示, 所述方法包括:
901、 在一个突发周期内从存储器中读取将参考帧压 缩后的的 32比特的压 缩数据包;
902、 判断所述 32比特的数据包的大小是否小于第二阈值, 若所述 32比特 的数据包的大小小于所述第二阈值,读取所述 32比特的压缩数据包的相关标记 信息, 并根据所述 32比特的压缩数据包的相关标记信息,计算所 32比特的压 缩数据包对应的映射值;
903、 若所述 32比特的压缩数据包对应的映射值小于第一预 阈值, 读取 所述 32比特的压缩数据包中长度为固定 10比特的比特数,所述长度为 10比特的 比特数无失真地表示 2 X 2像素块包括的像素点的最小像素值;
904、 读取所述 32比特的压缩数据包中用于表示所述最小像素 的位置信 息的长度为 2比特的比特数, 根据所述用于表示所述最小像素值的位置信息 的 长度为 2比特的比特数, 获得所述 2 x 2像素块中除所述最小像素值以外的每个 像素点的位置信息;
905、 按照少于 8比特的固定比特位数读取用于表示所述 2x 2像素块中除所 述最小像素值以外的三个像素点的像素值与所 述最小像素值之间的差值的 18 比特, 获得用于表示所述 2x 2像素块中除所述最小像素值以外的每个像素 的 像素值与所述最小像素值之间的差值的比特数 ;
906、 根据所述用于表示所述 2 x 2像素块中除所述最小像素值以外的每个 像素点的像素值与所述最小像素值之间的差值 的比特数, 以及所述 2x 2像素块 - - 中除所述最小像素值以外的每个像素点的位置 信息, 获得所述 2 X 2像素块中除 所述最小像素值以外的每个像素点的像素值。
例如, 所述 32比特的数据包的解压流程为:
读取参数 S
If ( s==2 )
For(i=0;i<3;i++) Pd[i]=p[i]«2;
Pel[3]=p[3]«3;
Else
{ 依次读取所述 32比特的数据包中的
lObit, 表示所述最小像素值 minmum,2比特最
小像素值的位置信息 minldx,并且依次读取三
个 6bit p[i];
For(i=0;i<3;i++)
Pel[i]=(p[i]«s)+minmum; 其中参数 s表示所述 32比特的数据包的标记信息映射值, p[i]表示从所述 32 比特的数据包中读取的用于表示所述 32比特的数据包中第 i个像素点的像素值 的比特数, pel[i]表示所述 32比特的数据包中第 i个像素点解码后的像素值。
本发明实施例提供的参考帧解压方法,在一个 突发周期内从存储器的存储 单元中读取将参考帧压缩后的 32比特的压缩数据包,所述 32比特的数据包的大 小小于第二阈值,以所述 32比特的数据包为基本解压单元将所述参考帧 行解 压。 和现有技术相比, 本发明实施例提供的参考帧解压方法, 当所述定长比特 的压缩数据包的大小小于或等于所述第二阈值 时,以所述定长比特的压缩数据 包作为基本解压单元将所述参考帧进行解压, 既可以提高存储器的数据存储精 度, 减少随机访问冗余, 又能够保证存储器的数据访问效率。
实施例七 - - 本实施例提供一种参考帧解压方法, 如图 10所示, 所述方法包括:
1001、在一个突发周期内从存储器中读取将参 帧压缩后的定长比特的压 缩数据包;
1002、判断所述定长比特的压缩数据包的大小 否小于或等于第二预设阈 值, 若所述定长比特的压缩数据包的大小大于所述 第二阈值,将所述定长比特 的压缩数据包平均分割为 4个定长比特的数据包;
1003、 获得需要恢复的 4x4存储单元在所述参考帧中的起始点位置;
1004、 根据所述需要恢复的 4x4存储单元在所述参考帧中的起始点位置, 获得所述需要恢复的 4x4存储单元中包括的 4个定长比特的数据包在所述参考 帧中的位置;
1005、 根据预定的反扫描规则, 计算所述 4个定长比特的数据包在所述需 要恢复的 4 X 4存储单元中的位置;
1006、 根据所述 4个定长比特的数据包在所述需要恢复的 4x4存储单元中 的位置, 将所述 4个定长比特的数据包存放在所述需要恢复的 4x4存储单元中。
例如, 获得所述需要恢复的 4x4存储单元在所述参考帧中的起始点坐标
( startX, startY ), 根据如下公式:
IX-startXI<4, IY-startYI<4;
X = m><width_4;
Y = n x height_4;
其中, width_4是所述参考帧宽度的 1/4, height_4是所述参考帧高度的 1/4, m, n均取整数值。 计算所述需要恢复的 4x4压缩单元包括的 4个 32比特的数据 包在所述参考帧中的坐标。
根据预定的反扫描规则, 计算得到所述需要恢复的 4x4压缩单元中包括的 4个 32比特的数据包在所述需要恢复的 4x 4压缩单元中的位置分别为: i X width+j ,i x width+(j + 1 ), (i+ 1 ) χ width+j , (i+l)x width+(j+l), 其中, width表示所 述参考帧的宽度的 l/log 2 N, N是压缩单元包含的像素数, i能够被 2整除, j能够 被 2整除。 例如, 将 width取值为 8, i取值为 0, j取值为 1, 根据公式计算得到所 述 4个 32比特的数据包在所述参考帧中的位置分别为 0x8+1=1, 0x8+2=2, 1x8+1=9, 2x8+2=10。 - - 本发明实施例提供的参考帧解压方法,若所述 定长比特的压缩数据包的大 小大于所述第二阈值, 将所述定长比特的压缩数据包平均分割为 4个定长比特 的数据包, 根据所述需要恢复的 4x 4存储单元在所述参考帧中的起始点位置, 获得所述需要恢复的 4 x 4存储单元中包括的 4个定长比特的数据包在所述参考 帧中的位置, 根据预定的反扫描规则, 计算所述 4个定长比特的数据包在所述 需要恢复的 4 x 4存储单元中的位置, 根据所述 4个定长比特的数据包在所述需 要恢复的 4 x 4存储单元中的位置, 将所述 4个定长比特的数据包存放在所述需 要恢复的 4x 4存储单元中。 和现有技术相比, 本发明实施例提供的参考帧解压 方法, 当所述定长比特的压缩数据包的大小大于所述 第二阈值时,将所述定长 比特的压缩数据包平均分割为 4个定长比特的数据包。 既可以提高存储器的数 据存储精度, 减少随机访问冗余, 又能够保证存储器的数据访问效率。
实施例八
本实施例提供一种参考帧解压装置, 如图 11所示, 所述参考帧解压装置包 括:
读取模块 1101 ,用于在一个突发周期内从存储器中读取将参 帧压缩后的 定长比特的压缩数据包;
第二判断模块 1102 ,用于判断所述定长比特的压缩数据包的大小 否小于 或等于第二预设阈值;
解压模块 1103,用于当所述定长比特的压缩数据包的大 小于或等于所述 第二阈值时,以所述定长比特的压缩数据包作 为基本解压单元将所述参考帧进 行解压。
进一步的, 如图 12所示, 所述解压模块 1103包括:
读取单元 11031 , 用于当所述定长比特的压缩数据包的大小为 32比特时, 读取所述 32比特的压缩数据包的相关标记信息;
计算单元 11032 , 用于并根据所述 32比特的压缩数据包的相关标记信息, 计算所述 32比特的压缩数据包对应的映射值;
所述读取单元 11031 , 还用于当所述 32比特的压缩数据包对应的映射值小 于第一预设阈值时,读取所述 32比特的压缩数据包中长度为固定 10比特的比特 数, 所述长度为 10比特的比特数无失真地表示 2x 2像素块包括的像素点的最小 - - 像素值;
所述读取单元 11031, 还用于读取所述 32比特的压缩数据包中用于表示所 述最小像素值的位置信息的长度为 2比特的比特数;
获得单元 11033, 用于根据所述用于表示所述最小像素值的位置 信息的长 度为 2比特的比特数, 获得所述 2x2像素块中除所述最小像素值以外的每个像 素点的位置信息;
所述读取单元 11031,还用于按照少于 8比特的固定比特位数读取用于表示 所述 2x2像素块中除所述最小像素值以外的三个像素 点的像素值与所述最小 像素值之间的差值的 18比特;
所述获得单元 11033,还用于获得用于表示所述 2x2像素块中除所述最小像 素值以外的每个像素点的像素值与所述最 d、像素值之间的差值的比特数; 所述获得单元 11033,还用于根据所述用于表示所述 2x2像素块中除所述最 Ί、像素值以外的每个像素点的像素值与所述 小像素值之间的差值的比特数, 以及所述 2 X 2像素块中除所述最 d、像素值以外的每个像素点的位置信息, 获得 所述 2x2像素块中除所述最小像素值以外的每个像素 点的像素值。
进一步的, 如图 12所示, 所述参考帧解压装置还可以包括:
分割模块 1104,用于当所述定长比特的压缩数据包的大小 于所述第二阈 值时, 将所述定长比特的压缩数据包平均分割为 4个定长比特的数据包;
获得模块 1105, 用于获得需要恢复的 4x4存储单元在所述参考帧中的起始 点位置;
所述获得模块 1105, 还用于根据所述需要恢复的 4x4存储单元在所述参考 帧中的起始点位置, 获得所述需要恢复的 4x4存储单元中包括的 4个定长比特 的数据包在所述参考帧中的位置;
计算模块 1106, 用于根据预定的反扫描规则, 计算所述 4个定长比特的数 据包在所述需要恢复的 4x4存储单元中的位置;
存放模块 1107,用于根据所述 4个定长比特的数据包在所述需要恢复的 4x4 存储单元中的位置, 将所述 4个定长比特的数据包存放在所述需要恢复的 4x4 存储单元中。
进一步的, 所述分割模块 1104, 具体用于当若所述定长比特的压缩数据包 - - 的大小为 128比特时, 将所述 128比特的压缩数据包平均分割为 4个 32比特的数 据包。
进一步的, 如图 12所示, 所述获得模块 1105包括:
获得单元 11051 ,用于获得所述需要恢复的 4x 4压缩单元在所述参考帧中的 起始点坐标;
计算单元 11052,用于根据所述需要恢复的 4x 4压缩单元在所述参考帧中的 起始点坐标, 计算所述需要恢复的 4x 4压缩单元包括的 4个 32比特的数据包在 所述参考帧中的坐标。
进一步的, 所述计算模块 1106, 具体用于根据预定的反扫描规则, 计算所 述需要恢复的 4x 4存储单元中包括的 4个 32比特的数据包在所述 4x 4存储单元 的位置分别为: i x width+j,ix width+ j+l),(i+l)x width+j, (i+l)x width+(j+l),其中, width表示所述参考帧的宽度的 l/log 2 N, N表示所述压缩单元包括的像素数, i 能够被 2整除, j能够被 2整除。
本发明实施例提供的参考帧解压装置,通过读 取模块在一个突发周期内从 存储器的存储单元中读取将参考帧压缩后的定 长比特的压缩数据包,通过判断 模块判断所述定长比特的压缩数据包的大小是 否小于或等于第二预设阈值,若 所述定长比特的压缩数据包的大小小于或等于 所述第二阈值,通过压缩模块以 所述定长比特的压缩数据包作为基本解压单元 将所述参考帧进行解压。和现有 技术相比, 本发明实施例提供的参考帧解压装置, 当所述定长比特的压缩数据 包的大小小于或等于所述第二阈值时,以所述 定长比特的压缩数据包作为基本 解压单元将所述参考帧进行解压, 既可以提高存储器的数据存储精度, 减少随 机访问冗余, 又能够保证存储器的数据访问效率。
本发明实施例提供的参考帧压缩存储装置和解 压装置可以实现上述提供 的方法实施例, 具体功能实现请参见方法实施例中的说明, 在此不再赘述。 本 发明实施例提供的参考帧压缩存储和解压方法 及装置可以适用于参考帧压缩, 但不仅限于此。
本领域普通技术人员可以理解实现上述实施例 方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完 成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包 括如上述各方法的实施例的流程。 - - 其中,所述的存储介质可为磁碟、光盘、只读 存储记忆体(Read-Only Memory, ROM )或随机存储记忆体(Random Access Memory, RAM )等。
以上所述,仅为本发明的具体实施方式,但本 发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明 揭露的技术范围内, 可轻易想到 的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围 应该以权利要求的保护范围为准。
+