首页 / 专利库 / 多媒体工具与应用 / 有损压缩 / 视频系统、视频帧缓存再压缩/解压缩方法与装置

视频系统、视频缓存再压缩/解压缩方法与装置

阅读:1018发布:2020-08-11

专利汇可以提供视频系统、视频缓存再压缩/解压缩方法与装置专利检索,专利查询,专利分析的服务。并且一种视频系统、 视频 帧 缓存再压缩/解压缩方法与装置,所述视频帧缓存再压缩装置适于对视频帧中的 像素 单元进行压缩,包括:第0级至第n级压缩器,每一级压缩器压缩后产生的误差数据作为下一级压缩器的输入单元,同一级压缩器的输入单元的尺寸和目标压缩率相同;其中n为自然数。所述视频帧缓存解压缩装置包括:分别对应于所述第0级至第n级压缩器的第0级至第n级解压缩器,各级解压缩器分别对其对应的压缩器的压缩数据进行解压缩;输出单元,用于将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。本 发明 技术方案能在保持视频 质量 的情况下显著降低片外 存储器 的 访问 带宽和功耗。,下面是视频系统、视频缓存再压缩/解压缩方法与装置专利的具体信息内容。

1.一种视频缓存再压缩装置,适于对视频帧中的像素单元进行压缩,其特征在于,包括:
第0级至第n级压缩器,每一级压缩器压缩后产生的误差数据作为下一级压缩器的输入单元,同一级压缩器的输入单元的尺寸和目标压缩率相同;其中n为自然数。
2.根据权利要求1所述的视频帧缓存再压缩装置,其特征在于,压缩器的级别越高,其对应输入单元的尺寸越大。
3.根据权利要求1所述的视频帧缓存再压缩装置,其特征在于,各级压缩器在对应输入单元的尺寸不同时,分别采用不同的压缩模
4.根据权利要求1所述的视频帧缓存再压缩装置,其特征在于,两个或两个以上不同级别的压缩器在对应输入单元的尺寸相同或相似时复用同一压缩模块。
5.根据权利要求1所述的视频帧缓存再压缩装置,其特征在于,每一级压缩器支持单独编码或参考上一级压缩器的压缩模式进行预测编码。
6.根据权利要求1所述的视频帧缓存再压缩装置,其特征在于,各级压缩器均包含量化工具,支持根据目标压缩率调整量化级数。
7.一种视频帧缓存再压缩方法,其特征在于,包括:
将视频帧中的每个像素单元作为输入单元依次送入权利要求1至6任一项所述的视频帧缓存再压缩装置的第0级压缩器进行压缩;
以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩。
8.根据权利要求7所述的视频帧缓存再压缩方法,其特征在于,根据分配的带宽情况确定数据压缩的最高压缩级数imax1,所述imax1的取值范围为[1,n]。
9.根据权利要求7所述的视频帧缓存再压缩方法,其特征在于,所述以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩包括:将第i-1级压缩器产生的每Xi/Xi-1个误差数据合并为大小等于L*Xi的误差数据单元EUi,并将所述EUi作为第i级压缩器的输入单元;其中Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i的取值范围为[1,n-1],L为像素单元的存储尺寸。
10.根据权利要求7所述的视频帧缓存再压缩方法,其特征在于,所述以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩包括:
将第i-1级压缩器产生的每Xi/Xi-1个误差数据合并为大小等于L*Xi的误差数据单元EUi,并将所述EUi作为第i级压缩器的输入单元;
若第i-1级压缩器进行的压缩均为无损压缩或者i大于imax1,则跳过第i级压缩器的第i级压缩;
其中,所述Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i的取值范围为[1,n-1],L为像素单元的存储尺寸,imax1为根据分配的带宽情况确定的数据压缩的最高压缩级数,所述imax1的取值范围为[1,n]。
11.根据权利要求7所述的视频帧缓存再压缩方法,其特征在于,还包括:
将一帧视频对应的存储空间分为n个分别对应于第0级至第n-1级压缩器的子存储空间;
将第0级至第n-1级压缩器的压缩数据存储于各自对应的子存储空间,将第n级压缩器的压缩数据分别存储于第1级至第n-1级压缩器对应子存储空间中的空余存储空间。
12.根据权利要求11所述的视频帧缓存再压缩方法,其特征在于,所述将第n级压缩器的压缩数据分别存储于其余各级压缩器对应子存储空间中的空余存储空间包括:
当第n-1级压缩器进行的压缩为有损压缩时,计算第n级压缩的目标存储空间;
若第n级压缩的目标存储空间大小为0,则跳过第n级压缩,否则进行第n级压缩;
将第n级压缩单元依照第1级至第n-1级压缩单元的大小进行拆分,并将拆分后的各部分数据依次存储于第1级至第n-1级子存储空间;其中,第i级压缩单元是指对一个像素单元或误差数据单元进行第i级压缩后形成的压缩数据,所述误差数据单元由一个误差数据构成或者由一个以上误差数据合并而成,i的取值范围为[1,n]。
13.根据权利要求12所述的视频帧缓存再压缩方法,其特征在于,所述计算第n级压缩的目标存储空间包括:
以n-1个移位寄存器分别缓存第0级至第n-2级压缩器完成压缩后的压缩标志,所述压缩标志用于标识下一级压缩器对应的子存储空间是否存在空余;
当第n-1级压缩器压缩完一个输入单元后,将各移位寄存器都左移1比特;
将各级中对应第n-1级压缩单元的所有压缩单元的压缩标志进行或运算后存入相应移位寄存器的最低比特,然后读取各移位寄存器最高位比特;
将标识为空余的各级压缩单元的存储空间相加,得到第n级压缩的目标存储空间大小。
14.根据权利要求13所述的视频帧缓存再压缩方法,其特征在于,所述压缩标志存储于各级压缩单元中或集中存储于片内存储器
15.根据权利要求12所述的视频帧缓存再压缩方法,其特征在于,所述第n级压缩单元拆分后的各部分数据存储的位置为与当前第n-1级压缩单元间隔T×Xn-1长度的第n-1级压缩单元在各级子存储空间中对应的第一个压缩单元位置,所述T为自然数,Xn-1为i=n-1时的Xi,Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i的取值范围为[1,n-1]。
16.一种视频帧缓存解压缩装置,其特征在于,包括:
第0级至第n级解压缩器,分别对应于权利要求1至6任一项所述的视频帧缓存再压缩装置的第0级至第n级压缩器,各级解压缩器分别对其对应的压缩器的压缩数据进行解压缩;
输出单元,用于将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。
17.一种视频帧缓存解压缩方法,其特征在于,包括:
以权利要求16所述的视频帧缓存解压缩装置的第0级至第n级解压缩器分别对各自对应的压缩器的压缩数据进行解压缩;
将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。
18.根据权利要求17所述的视频帧缓存解压缩方法,其特征在于,所述以第0级至第n级解压缩器分别对各自对应的压缩器的压缩数据进行解压缩包括:
根据要读取的像素单元的位置判断需要读取的第0级至第n级压缩单元的位置;其中,第i级压缩单元是指对一个像素单元或误差数据单元进行第i级压缩后形成的压缩数据,所述误差数据单元由一个误差数据构成或者由一个以上误差数据合并而成,i的取值范围为[1,n];
分别从第0级至第n-1级子存储空间中读取所需的第0级至第n-1级压缩单元,并由第1级至第n-1级解压缩器对读取的压缩数据进行解压缩;所述第0级至第n-1级子存储空间由所述要读取的像素单元所属视频帧对应的存储空间拆分而成;
分别从第1级至第n-1级子存储空间中读取被拆分的第n级压缩单元对应位置的数据,进行拼接后恢复所述第n级压缩单元,再由第n级解压缩器对所述第n级压缩单元进行解压缩。
19.根据权利要求18所述的视频帧缓存解压缩方法,其特征在于,读取所需的各级压缩单元包括:
若压缩单元的压缩标志集中存于片内存储器,则根据压缩标志表示的压缩数据长度向所需读取的各级压缩单元对应的片内存储器并行发送读数据指令,所述压缩标志用于标识下一级压缩器对应的子存储空间是否存在空余。
20.根据权利要求18所述的视频帧缓存解压缩方法,其特征在于,读取所需的各级压缩单元包括:
若压缩标志存于各级压缩单元中,则依次从片外存储器中读取各级压缩单元,直至从当前压缩单元中分析出该压缩单元所进行的压缩为无损压缩或者达到最高解压缩级数,所述压缩标志用于标识下一级压缩器对应的子存储空间是否存在空余。
21.根据权利要求17所述的视频帧缓存解压缩方法,其特征在于,还包括:根据分配的带宽情况确定数据解压缩的最高级数imax2,所述imax2的取值范围为[1,n]。
22.根据权利要求17所述的视频帧缓存解压缩方法,其特征在于,输入各级解压缩器的数据复用片内存储器中存储的从片外存储器中已读取压缩数据。
23.根据权利要求22所述的视频帧缓存解压缩方法,其特征在于,所述片内存储器中缓存压缩数据的大小根据压缩单元的访问概率非均匀分配,所述压缩单元是指对一个像素单元或误差数据单元进行压缩后形成的压缩数据,所述误差数据单元由一个误差数据构成或者由一个以上误差数据合并而成。
24.根据权利要求23所述的视频帧缓存解压缩方法,其特征在于,访问概率越高的压缩单元分配的存储空间越大。
25.一种视频系统,其特征在于,包括:
权利要求1至6任一项所述的视频帧缓存再压缩装置;
权利要求16所述的视频帧缓存解压缩装置;
第一存储器,适于存储所述视频帧缓存再压缩装置对视频帧中的像素单元进行压缩后形成的压缩数据。
26.根据权利要求25所述的视频系统,其特征在于,还包括第二存储器,适于缓存从所述第一存储器读取的压缩数据,以使所述视频帧缓存解压缩装置对所述缓存的压缩数据进行解压缩。
27.根据权利要求26所述的视频系统,其特征在于,所述第一存储器为片外存储器,所述第二存储器为片内存储器。
28.根据权利要求25所述的视频系统,其特征在于,还包括:摄像模块和编码器,所述摄像模块适于向所述视频帧缓存再压缩装置输入视频帧,所述编码器适于对经过所述视频帧缓存解压缩装置解压缩后生成的像素单元的数据进行编码。
29.根据权利要求25所述的视频系统,其特征在于,还包括:解码器和显示模块,所述解码器适于对经过编码的视频帧进行解码后输入所述视频帧缓存再压缩装置,所述显示模块适于对经所述视频帧缓存解压缩装置解压缩后输出的视频帧进行显示。

说明书全文

视频系统、视频缓存再压缩/解压缩方法与装置

技术领域

[0001] 本发明涉及视频技术领域,特别涉及一种视频系统、视频帧缓存再压缩方法与装置、视频帧缓存解压缩方法与装置。

背景技术

[0002] 在视频编解码设备中,压缩片外存储器中的视频帧数据可以节省存储空间,在某些情况下,由于视频数据被压缩后传输也会带来降低存储访问带宽的效果。根据这一原理,许多研究关注于片外视频帧缓存再压缩技术(FBR,Frame buffer recompression),希望在节省大量片外存储空间的基础上同时取得减少带宽的效果。
[0003] 常见的集成帧缓存再压缩技术的视频系统结构如图1和图2所示,其中图1示出了编码器帧缓存再压缩/解压缩过程,图2示出了解码器帧缓存再压缩/解压缩过程。通常将一帧视频图像划分为相同大小的像素单元进行压缩。
[0004] 在编码器工作过程中,通过压缩器对由摄像模获得的当前帧数据压缩后存入输入帧缓存,再被解压缩器读取解压后送入编码器编码,运动估计和补偿模块从重建帧缓存中读取数据解压后供编码用,重建帧数据被压缩器压缩后写入帧缓存;在解码器工作过程中,运动补偿和显示两个模块需要从片外帧缓存(片外存储器)中读取数据进行解压缩,重建帧数据被压缩后写入帧缓存。
[0005] 帧缓存中的数据访问顺序如下:输入帧和重建帧按照宏块顺序从左往右从上往下依次读写;运动补偿模块根据运动向量的值随机读取像素。运动估计模块的数据访问顺序受运动搜索算法和缓存结构影响。
[0006] 为了满足运动补偿模块对随机访问的要求,每个像素单元需独立编码,不能相互预测。已有的FBR方法分为有损和无损两类,有损FBR大都是将所有像素单元按某一相同压缩率进行压缩,这样可以方便的计算出每个压缩单元(此处所述压缩单元指的是压缩后的像素单元)的存储地址,但很可能会影响视频质量;无损FBR由于压缩后的单元长度随内容变化,需要额外存储每个单元的起始地址和长度,这就要求大大增加片外存储空间,而且会增加对片外存储器的访问带宽。
[0007] 为了减少帧缓存压缩带来的硬件成本和处理延时,帧缓存再压缩和解压缩所采用的算法受到对复杂度和延时的要求限制。已经提出的有损FBR方法采用了降采样、自适应矢量量化(AVQ,Adaptive Vector Quantization)、自适应动态范围编码(ADRC)、哈达码变换(HT,Hadamard transform)、Golomb-rice编码(GR)、ADPCM、2D-ADPCM等技术;已有的无损FBR方法有改进的哈达码变换(MHT)和GR编码相结合、DPCM+huffman编码、词典编码等。
[0008] 在移动视频编解码设备中,由于高分辨率视频的广泛应用,编解码器对片外存储器的访问带宽需求极大,大量的片外存储访问带来的高功耗减少了系统的持续工作时间。同时,视频编解码模块常常和通讯模块、计算模块等集成在一个系统中并行运行,共享带宽,其所分配到的带宽资源常常不能满足实时编解码的需要,造成丢帧,影响视频效果。而现有的集成帧缓存再压缩技术的视频系统中,难以在保持视频质量的情况下显著降低片外存储器的访问带宽和功耗。
[0009] 相关技术还可参考公开号为EP1298937的欧洲专利申请,该专利申请公开了一种使用参考帧再压缩的视频编解码方法与装置。

发明内容

[0010] 本发明要解决的问题是现有技术难以在保持视频质量的情况下显著降低片外存储器的访问带宽和功耗。
[0011] 为解决上述问题,本发明技术方案提供一种视频帧缓存再压缩装置,适于对视频帧中的像素单元进行压缩,包括:第0级至第n级压缩器,每一级压缩器压缩后产生的误差数据作为下一级压缩器的输入单元,同一级压缩器的输入单元的尺寸和目标压缩率相同;其中n为自然数。
[0012] 可选的,压缩器的级别越高,其对应输入单元的尺寸越大。
[0013] 可选的,各级压缩器在对应输入单元的尺寸不同时,分别采用不同的压缩模块。
[0014] 可选的,两个或两个以上不同级别的压缩器在对应输入单元的尺寸相同或相似时复用同一压缩模块。
[0015] 可选的,每一级压缩器支持单独编码或参考上一级压缩器的压缩模式进行预测编码。
[0016] 可选的,各级压缩器均包含量化工具,支持根据目标压缩率调整量化级数。
[0017] 为解决上述问题,本发明技术方案还提供一种视频帧缓存再压缩方法,包括:将视频帧中的每个像素单元作为输入单元依次送入上述的视频帧缓存再压缩装置的第0级压缩器进行压缩;以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩。
[0018] 可选的,根据分配的带宽情况确定数据压缩的最高压缩级数imax1,所述imax1的取值范围为[1,n]。
[0019] 可选的,所述以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩包括:将第i-1级压缩器产生的每Xi/Xi-1个误差数据合并为大小等于L*Xi的误差数据单元EUi,并将所述EUi作为第i级压缩器的输入单元;其中Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i的取值范围为[1,n-1],L为像素单元的存储尺寸。
[0020] 可选的,所述以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩包括:将第i-1级压缩器产生的每Xi/Xi-1个误差数据合并为大小等于L*Xi的误差数据单元EUi,并将所述EUi作为第i级压缩器的输入单元;若第i-1级压缩器进行的压缩均为无损压缩或者i大于imax1,则跳过第i级压缩器的第i级压缩;其中,所述Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i的取值范围为[1,n-1],L为像素单元的存储尺寸,imax1为根据分配的带宽情况确定的数据压缩的最高压缩级数,所述imax1的取值范围为[1,n]。
[0021] 可选的,所述视频帧缓存再压缩方法,还包括:将一帧视频对应的存储空间分为n个分别对应于第0级至第n-1级压缩器的子存储空间;将第0级至第n-1级压缩器的压缩数据存储于各自对应的子存储空间,将第n级压缩器的压缩数据分别存储于第1级至第n-1级压缩器对应子存储空间中的空余存储空间。
[0022] 可选的,所述将第n级压缩器的压缩数据分别存储于其余各级压缩器对应子存储空间中的空余存储空间包括:当第n-1级压缩器进行的压缩为有损压缩时,计算第n级压缩的目标存储空间;若第n级压缩的目标存储空间大小为0,则跳过第n级压缩,否则进行第n级压缩;将第n级压缩单元依照第1级至第n-1级压缩单元的大小进行拆分,并将拆分后的各部分数据依次存储于第1级至第n-1级子存储空间;其中,第i级压缩单元是指对一个像素单元或误差数据单元进行第i级压缩后形成的压缩数据,所述误差数据单元由一个误差数据构成或者由一个以上误差数据合并而成,i的取值范围为[1,n]。
[0023] 可选的,所述计算第n级压缩的目标存储空间包括:以n-1个移位寄存器分别缓存第0级至第n-2级压缩器完成压缩后的压缩标志,所述压缩标志用于标识下一级压缩器对应的子存储空间是否存在空余;当第n-1级压缩器压缩完一个输入单元后,将各移位寄存器都左移1比特;将各级中对应第n-1级压缩单元的所有压缩单元的压缩标志进行或运算后存入相应移位寄存器的最低比特,然后读取各寄存器最高位比特;将标识为空余的各级压缩单元的存储空间相加,得到第n级压缩的目标存储空间大小。
[0024] 可选的,所述压缩标志存储于各级压缩单元中或集中存储于片内存储器。
[0025] 可选的,所述第n级压缩单元拆分后的各部分数据存储的位置为与当前第n-1级压缩单元间隔T×Xn-1长度的第n-1级压缩单元在各级子存储空间中对应的第一个压缩单元位置,所述T为自然数,Xn-1为i=n-1时的Xi,Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i的取值范围为[1,n-1]。
[0026] 为解决上述问题,本发明技术方案还提供一种视频帧缓存解压缩装置,包括:第0级至第n级解压缩器,分别对应于上述视频帧缓存再压缩装置的第0级至第n级压缩器,各级解压缩器分别对其对应的压缩器的压缩数据进行解压缩;输出单元,用于将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。
[0027] 为解决上述问题,本发明技术方案还提供一种视频帧缓存解压缩方法,包括:以上述视频帧缓存解压缩装置的第0级至第n级解压缩器分别对各自对应的压缩器的压缩数据进行解压缩;将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。
[0028] 可选的,所述以第0级至第n级解压缩器分别对各自对应的压缩器的压缩数据进行解压缩包括:根据要读取的像素单元的位置判断需要读取的第0级至第n级压缩单元的位置;其中,第i级压缩单元是指对一个像素单元或误差数据单元进行第i级压缩后形成的压缩数据,所述误差数据单元由一个误差数据构成或者由一个以上误差数据合并而成,i的取值范围为[1,n];分别从第0级至第n-1级子存储空间中读取所需的第0级至第n-1级压缩单元,并由第1级至第n-1级解压缩器对读取的压缩数据进行解压缩;所述第0级至第n-1级子存储空间由所述要读取的像素单元所属视频帧对应的存储空间拆分而成;分别从第1级至第n-1级子存储空间中读取被拆分的第n级压缩单元对应位置的数据,进行拼接后恢复所述第n级压缩单元,再由第n级解压缩器对所述第n级压缩单元进行解压缩。
[0029] 可选的,读取所需的各级压缩单元包括:若压缩单元的压缩标志集中存于片内存储器,则根据压缩标志表示的压缩数据长度向所需读取的各级压缩单元对应的片内存储器并行发送读数据指令,所述压缩标志用于标识下一级压缩器对应的子存储空间是否存在空余。
[0030] 可选的,读取所需的各级压缩单元包括:若压缩标志存于各级压缩单元中,则依次从片外存储器中读取各级压缩单元,直至从当前压缩单元中分析出该压缩单元所进行的压缩为无损压缩或者达到最高解压缩级数,所述压缩标志用于标识下一级压缩器对应的子存储空间是否存在空余。
[0031] 可选的,所述视频帧缓存解压缩方法,还包括:根据分配的带宽情况确定数据解压缩的最高级数imax2,所述imax2的取值范围为[1,n]。
[0032] 可选的,输入各级解压缩器的数据复用片内存储器中存储的从片外存储器中已读取压缩数据。
[0033] 可选的,所述片内存储器中缓存压缩数据的大小根据压缩单元的访问概率非均匀分配,所述压缩单元是指对一个像素单元或误差数据单元进行压缩后形成的压缩数据,所述误差数据单元由一个误差数据构成或者由一个以上误差数据合并而成。
[0034] 可选的,访问概率越高的压缩单元分配的存储空间越大。
[0035] 为解决上述问题,本发明技术方案还提供一种视频系统,包括:上述视频帧缓存再压缩装置和视频帧缓存解压缩装置;第一存储器,适于存储所述视频帧缓存再压缩装置对视频帧中的像素单元进行压缩后形成的压缩数据。
[0036] 与现有技术相比,本发明技术方案至少具有以下优点:
[0037] 通过采用多级像素单元压缩器,以每一级压缩器压缩后产生的误差数据作为下一级压缩器的输入单元,并且同一级压缩器的输入单元的尺寸和目标压缩率相同,由于各级压缩子空间中压缩单元大小相同,既可以用极低地代价实现随机像素块访问,避免了帧缓存无损再压缩方法实现随机访问的高代价,又能避免传统帧缓存有损再压缩方法在压缩过程中造成的数据误差,从而能在保持视频质量的同时,有效降低存储器带宽和功耗。
[0038] 由于多级压缩结构提供了多种压缩目标尺寸,减少了压缩数据传输中冗余数据的比例,相比传统帧缓存有损再压缩方法进一步降低了带宽。
[0039] 高级别的压缩器采用较大尺寸的输入单元,最后一级压缩器复用其余级的存储空间,都有效扩展了像素单元的最大压缩尺寸,减少了因压缩尺寸限制带来的视频损失。
[0040] 解压缩装置中采用多级片内存储器缓存压缩数据,可以有效降低带宽,且所述片内存储器的大小根据压缩单元的访问概率非均匀分配,可以减小片内存储器大小。
[0041] 视频帧缓存再压缩/解压缩装置支持根据带宽情况自适应限制传输的压缩数据级数,调整传输数据量,支持自适应控制视频损失来换取视频编解码系统的实时性能,避免跳帧。附图说明
[0042] 图1是现有视频系统结构中的编码器帧缓存再压缩/解压缩过程的示意图;
[0043] 图2是现有视频系统结构中的解码器帧缓存再压缩/解压缩过程的示意图;
[0044] 图3是本发明实施例提供的像素单元的自适应多级再压缩/解压缩过程的示意图;
[0045] 图4是本发明实施例中第n级压缩的压缩数据分别存入其余各级压缩器对应空余存储空间的示意图。

具体实施方式

[0046] 如背景技术中所述,现有的集成帧缓存再压缩技术的视频系统中,难以在保持视频质量的情况下显著降低片外存储器的访问带宽和功耗。下面首先对此进行简单分析:
[0047] 为了能够保持视频质量,理想的压缩应该是无损的,在无损压缩的情况下,视频像素单元的压缩率受到视频内容、像素单元大小等因素的影响。选择大的像素单元尺寸可以带来好的压缩率,但是太大的像素单元尺寸,会使得编解码器读入的冗余像素增加,影响带宽性能。受到硬件实现的限制,已有的设计都是在提高压缩率和减小带宽两者间进行平衡,确定一个固定的压缩单元大小。
[0048] 虽然无损FBR可以保持视频质量,但是由于图像块压缩后尺寸不一,为了满足运动补偿模块对像素随机访问的要求,需要为每个压缩单元建立索引,存储压缩后的起始地址和长度。以高清1080p视频为例,假设总线宽度64bit,按照8×8单元压缩,每帧需要85KB的空间来存储压缩单元地址,对于如H.264的多参考帧的编解码情况,每帧编解码用到的地址存储空间还要乘以参考帧数量,因此将压缩单元地址存在片内是难以接受的;而将地址信息存在片外,常需要扩展地址比特位数以对齐总线宽度,使得读写地址信息需额外增加不少带宽,并且每个压缩单元的访问延时都成倍增加。因此,完全无损的FBR很少在编解码器中得到实际应用。
[0049] 实际采用的有损FBR方法,大都将所有像素单元按某一相同压缩率进行压缩。当像素单元简单时,压缩后的尺寸小于分配的存储空间,压缩后没有视频损失,但多分配的存储空间仍需读写,这意味着冗余数据的传输。而当像素单元复杂时,按照有损的方法强制压缩到目标尺寸,目标尺寸越小,视频损失越大。由于帧缓存压缩引入的误差会通过帧间预测迅速积累扩大,为了平衡最坏情况,减小视频损失,实际设计中只能选用较大的目标压缩尺寸(目标压缩率),使得节省带宽的效果有限。
[0050] 基于上述分析,发明人考虑,造成已有的有损FBR算法性能不高的原因,是受限于同时减少片外存储空间和带宽的思想限制,即现有的有损FBR方法一般既要求实现片外存储空间的减少以达到降低成本的目的,又要求节省对片外存储器的访问带宽并降低功耗。近来,在移动高分辨率视频编解码设备中,由于存储器的成本显著下降,与带宽占用和高功耗对系统的整体性能的影响相比,视频帧占用的片外存储空间不再成为系统的瓶颈
[0051] 因此,本发明实施方式提供一种视频帧缓存自适应多级再压缩装置,在保持原有存储空间不变或者少量增加片外存储空间的情况下,采用多级像素单元压缩器,既保留有损FBR方法实现随机访问的低复杂度优点,又引入无损FBR压缩率可自适应的特性,在保持视频质量的同时,能有效降低存储器带宽和功耗;并且,在具体实施时,这一视频帧缓存再压缩装置还支持根据带宽分配情况来自适应调整带宽需求的应用。
[0052] 为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0053] 本发明实施例提供的视频帧缓存再压缩装置,适于对视频帧中的像素单元进行压缩,包括:第0级至第n级压缩器,每一级压缩器压缩后产生的误差数据作为下一级压缩器的输入单元,同一级压缩器的输入单元的尺寸和目标压缩率相同;其中n为自然数。
[0054] 本实施例中,所述视频帧缓存再压缩装置采用多级压缩器,所述第0级至第n级压缩器具体依次为第0级压缩器、第1级压缩器、第2级压缩器、……、第n-1级压缩器、第n级压缩器,其中:第0级压缩器用于对输入的视频帧中的每一个像素单元依次进行第0级压缩,此时每一个像素单元作为第0级压缩器的输入单元;若第0级压缩如果存在损失,则第0级压缩产生的误差数据(可简称为第0级误差数据)送入第1级压缩器进行第1级压缩,此时第0级误差数据作为第1级压缩器的输入单元;若第1级压缩如果存在损失,则第1级压缩产生的误差数据(可简称为第1级误差数据)送入第2级压缩器进行第2级压缩,此时第1级误差数据作为第2级压缩器的输入单元;同理如此,每一级压缩器压缩后产生的误差数据作为下一级压缩器的输入单元,直至某一级压缩器进行的压缩均为无损压缩(不产生误差数据)或者到达预设的最高压缩级数为止,所述最高压缩级数可以根据分配的带宽情况确定。
[0055] 需要说明的是,本发明实施例中的一级压缩器并不局限于一个压缩器,某一级别的压缩器可能包含有多个压缩器,一个压缩器也可能复用为多个级别的压缩器;第0级压缩器与其他级别压缩器是有所不同的,第0级压缩器的输入单元是视频帧中的像素单元,经过第0级压缩器压缩后形成的数据是像素单元的压缩数据,而其他级别压缩器的输入单元是各自上一级压缩所产生的误差数据,经过其他各级压缩器压缩后形成数据是误差数据的压缩数据;此外,本发明实施例中将每个像素单元或者误差数据单元经过压缩器压缩之后形成的压缩数据称为一个压缩单元,所述误差数据单元可以由一个误差数据构成,也可以由一个以上误差数据合并而成。特别地,经过第0级压缩器压缩后的每一个压缩单元是压缩后的像素单元,而经过其他级别的压缩器压缩后的每一个压缩单元是压缩后的误差数据。
[0056] 本实施例提供的所述视频帧缓存再压缩装置的多级压缩器中,同一级压缩器的输入单元的尺寸和目标压缩率相同,这样能够便于数据随机访问,从而能保留有损FBR方法实现随机访问的低复杂度优点,避免了帧缓存无损再压缩方法实现随机访问的高代价;而不同级别的压缩器,对应输入单元的大小能够改变,由于多级压缩结构提供了多种压缩目标尺寸,减少了压缩数据传输中冗余数据的比例,相比传统帧缓存有损再压缩方法进一步降低了带宽和功耗。在本实施例中,压缩器的级别越高,其对应输入单元的尺寸越大,由于较大的输入单元尺寸有利于提高压缩性能,因此能够有效扩展像素单元的最大压缩尺寸,减少因压缩尺寸限制带来的视频损失。当然,在其他实施例中,对于不同级别的压缩器,对应输入单元的大小也可以相同,这并不影响所述视频帧缓存再压缩装置的实现。
[0057] 本发明实施例中的压缩器没有具体指定,可以根据各级输入数据特征分别采用不同的压缩器,即当各级压缩器在对应输入单元的尺寸不同时,分别采用不同的压缩模块实现;也可以根据输入数据特征复用某些压缩器,即当两个或两个以上不同级别的压缩器在对应输入单元的尺寸相同或相似时,可以复用同一压缩模块实现,从而能够减少实现代价。所述压缩器对应输入单元的尺寸相似是指输入压缩器的数据规模较为接近,可以预先针对各数据规模设定对应的输入单元的尺寸范围,将处于同一尺寸范围内的输入单元确定为尺寸相似的输入单元。
[0058] 本实施例中,每一级压缩器可以支持单独编码以提高压缩并行性,也可以参考上一级压缩器的压缩模式进行预测编码以提高压缩率,所述压缩模式包括压缩器的输入单元尺寸和目标压缩率。
[0059] 此外,本发明实施例中的各级压缩器均包含量化工具,支持根据目标压缩率调整量化级数。
[0060] 在实际实施时,由于大量像素单元仅需要少数级压缩就可完成,压缩后传输的数据量减少,且多级压缩结构提供了多种目标压缩尺寸,减少了压缩数据传输中冗余数据的比例,因此本发明实施例提供的视频帧缓存多级再压缩装置,在保持视频质量的同时,能显著降低对片外存储器的访问带宽和功耗,并支持视频质量和带宽的自适应调整。
[0061] 基于上述视频帧缓存再压缩装置,本实施例还提供一种视频帧缓存再压缩方法,包括:将视频帧中的每个像素单元作为输入单元依次送入上述视频帧缓存再压缩装置的第0级压缩器进行压缩;以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩。
[0062] 下面结合附图对上述视频帧缓存再压缩方法作详细说明。
[0063] 本发明实施例中像素单元的自适应多级再压缩过程如图3所示。一帧视频图像分割成大小相等的长方形像素单元PU,设像素单元PU的存储尺寸等于L(单位为总线宽度),则一帧图像含有PU的数量为:一帧存储尺寸/L。以总线宽度64bit,PU等于8×8像素块为例,L等于8,一帧1080P4:2:0图像包含48960个PU。
[0064] 本实施例中,自适应多级PU压缩流程如下:
[0065] 1)确定各级压缩器的压缩数据的存储空间。在本实施例中,将一帧视频对应的存储空间分为n个分别对应于第0级至第n-1级压缩器的子存储空间;将第0级至第n-1级压缩器的压缩数据存储于各自对应的子存储空间,将第n级压缩器的压缩数据分别存储于第1级至第n-1压缩器对应子存储空间中的空余存储空间。
[0066] 参阅图3,将一帧视频图像的存储空间拆分为n个大小不同的子存储空间,具体为Cache0、Cache1、Cache2、…、Cache n-1,分别对应于第0级压缩器、第1级压缩器、第2级压缩器、…、第n-1级压缩器,可以分别称为第0级存储子空间、第1级存储子空间、第
2级存储子空间、…、第n-1级存储子空间,其中:Cache0用于存储第0级压缩器的压缩数据CU0,分配的存储空间长度为L0;Cache1用于存储第1级压缩器的压缩数据CU1,分配的存储空间长度为L1;Cache2用于存储第2级压缩器的压缩数据CU2,分配的存储空间长度为L2;…;Cache n-1用于存储第n-1级压缩器的压缩数据CUn-1,分配的存储空间长度为Ln-1。因为一帧视频图像的存储空间的尺寸为L,所以L=L0+L1+L2+…+Ln-1,第j个子存储空间分配的比例为Lj/L,j=0,1,2…,n-1。L0、L1、L2、…、Ln-1又分别为第0级压缩器、第
1级压缩器、第2级压缩器、…、第n-1级压缩器对各自对应输入单元进行压缩的目标压缩尺寸。
[0067] 本实施例中,不存在与第n级压缩器相对应的独立存储空间Cache n,第n级压缩器的压缩数据CUn分别通过Cache1、Cache2、…、Cache n-1中的空余存储空间进行存储。如图3所示,可以将压缩数据CUn拆分为长度分别等于L1、L2、…、Ln-1的几个数据块,各数据块对应存储于第1级子存储空间、第2级子存储空间、…、第n-1级子存储空间。
[0068] 最后一级压缩器通过复用除第0级压缩器之外的其余各级压缩器的空余存储空间,不仅能在保持原有存储空间不变的情况下显著降低存储器带宽和功耗,而且有效扩展了像素单元的最大压缩尺寸,减少了因压缩尺寸限制带来的视频损失。
[0069] 需要说明的是,在其他实施例中,也可以不将一帧视频对应的存储空间拆分为n个大小不同的子存储空间,还可以不利用其余各级压缩器的空余存储空间存储最后一级压缩器的压缩数据,而是通过增加存储空间Cache n的方式以存储第n级压缩器的压缩数据。
[0070] 2)根据分配的带宽情况确定数据压缩的最高级数imax1,imax1的取值范围为[1,n],即imax1为1到n之间的某一整数(包括1和n)。
[0071] 一般来说,实际分配的带宽越大,则最高压缩级数imax1的取值也可以越大,此时因压缩而带来的损失也越少,后续对压缩后的数据进行解压缩所获得的图像质量也越好。反之,当实际分配的带宽较小时,那么受到带宽限制,压缩的级数不允许太多,否则会导致数据传输量过大,从而影响视频编解码系统的实时性能。
[0072] 在具体实施时,当确定最高压缩级数imax1之后,对于超过imax1级的数据则不进行压缩和传输。在分配的存储带宽不足的情况下,可以省去最后几级的数据压缩和传输,以少量视频损失来换取视频编解码系统的实时性能,避免跳帧。
[0073] 因此,本实施例提供的视频帧缓存再压缩装置能够支持根据带宽情况自适应限制传输的压缩数据级数,调整传输数据量,支持自适应控制视频损失来换取视频编解码系统的实时性能。
[0074] 在其他实施例中,也可以不确定最高压缩级数imax1,而是以n作为数据压缩的最高级数。
[0075] 3)第0级压缩器的第0级压缩过程。
[0076] 每个像素单元(PU0、PU1、PU2……)依次送入第0级压缩器进行压缩,目标压缩长度为L0。压缩完的数据CU0存入第0级子存储空间中的对应位置,同时记录本次压缩是否无损。如果是有损压缩,则计算压缩产生的误差数据,作为下一级压缩器(即第1级压缩器)的输入单元。当一个像素单元压缩过程完成,继续压缩下一个像素单元,直至一帧输出完成。所述计算压缩产生的误差数据为本领域技术人员所知晓,此处不再详细描述。
[0077] 需要说明的是,第0级压缩器的压缩数据CU0是对像素单元进行压缩后获得的数据,将其存储于第0级存储子空间后,所述第0级存储子空间中不存在空余存储空间。
[0078] 4)第1级压缩器至第n级压缩器的压缩过程。具体地,以每一级压缩器压缩后产生的误差数据作为输入单元送入下一级压缩器进行压缩。例如:将第0级压缩器压缩后产生的误差数据作为第1级压缩器的输入单元进行压缩,若第1级压缩为有损压缩,将再第1级压缩器压缩后产生的误差数据作为第2级压缩器的输入单元进行压缩,以此类推,直至某一级压缩器进行的压缩均为无损压缩或者到达预设的最高压缩级数,并输出一帧视频图像。
[0079] 本实施例中,设Xi为大于或等于1的整数且Xi是Xi-1的整数倍,i为从1到n-1的整数(特殊地,可以认为X0=1),将每Xi/Xi-1个第i-1级压缩器产生的误差数据合并为大小等于L×Xi的误差数据单元EUi,作为第i级压缩器的输入单元。如图3所示,将经过第0级压缩之后的X1个误差数据合并为大小等于L×X1的误差数据单元EU1,将经过第1级压缩之后的X2/X1个误差数据合并为大小等于L×X2的误差数据单元EU2,…,依此类推,直至将经过第n-2级压缩之后的Xn-1/Xn-2个误差数据合并为大小等于L×Xn-1的误差数据单元EUn-1。由于较大的输入单元尺寸有利于提高压缩性能,因此本实施例上述将多个误差数据进行合并的方式能够有效扩展像素单元或误差数据单元的最大压缩尺寸,减少因压缩尺寸限制带来的视频损失。在其他实施例中,也可以不对两个或两个以上误差数据进行合并,而是以一个误差数据作为一个误差数据单元。
[0080] 当EUi对应的上一级压缩单元都是无损压缩(即第i-1级压缩器进行压缩均为无损压缩)或者i大于imax1时,跳过本EUi压缩,不输出任何数据;否则对本EUi进行第i级压缩,压缩完的数据CUi存入第i级子存储空间中,同时识别本次压缩是否无损。如果是有损压缩,则计算本级压缩产生的误差数据,作为下一级压缩器的输入单元。当本EUi单元压缩过程结束,继续压缩下一个EUi单元,直至一帧输出完成。
[0081] 5)第n级压缩的目标存储空间的计算。
[0082] 参阅图3,假设第n-1级压缩器进行的压缩仍为有损压缩,则经过第n-1级压缩之后产生的误差数据将不再进行合并,直接以大小等于L×Xn-1的误差数据单元EUn作为第n级压缩器的输入单元,如图3中相应虚线框所示。如前所述,在本实施例中,为了不增加存储空间大小,第n级压缩器不存在对应的存储空间,而是通过复用除第0级压缩器之外的其余各级压缩器的空余存储空间,具体是将压缩数据CUn拆分为长度分别等于L1、L2、…、Ln-1的几个数据块(如图3中相应的虚线框所示),各数据块对应存储于第1级子存储空间、第2级子存储空间、…、第n-1级子存储空间。
[0083] 当第n-1级压缩结果仍为有损时,先要计算第n级压缩的目标存储空间大小。要计算第n级压缩的目标存储空间,需要了解第1级压缩器至第n-1级压缩器对应的子存储空间是否存在空余存储空间,本实施例中,在依次进行第0级至第n-1级压缩过程中,可以通过设置压缩标志的方式标识下一级压缩器对应的子存储空间是否存在空余,所述压缩标志可以放在各压缩单元CUi中(即分散存于片外存储器中,待后续解压缩时再从读取的压缩单元中分析获得),也可以集中存于片内存储器以减少读数据延时。
[0084] 本发明实施例中,通过采用n-1个移位寄存器来分别缓存第0级至第n-2级器压缩完成之后的压缩标志,以压缩标志为1表示下一级压缩器对应的子存储空间非空,压缩标志为0表示下一级压缩器对应的子存储空间存在空余。所述移位寄存器的宽度为T+1个比特,其中T为自然数,T的取值可以根据实际需要进行设定。
[0085] 在具体实施时,当第n-1级压缩器压缩完一个输入单元后,各移位寄存器都左移1比特,各级中对应压缩单元CUn-1的所有压缩单元的压缩标志进行或运算后存入相应移位寄存器的最低比特,然后读取各移位寄存器最高位比特,将标识为空余的各级压缩单元的存储空间相加,就得到第n级的目标存储空间大小。
[0086] 下面结合图4,对计算第n级压缩的目标存储空间大小进行举例说明(图4中以n等于4为例)。
[0087] 图4中示出了第0级至第3级子存储空间,对应的长度分别为L0、L1、L2和L3,所有子存储空间的长度总和为L,分别对应第0级压缩器至第3级压缩器进行压缩后所形成压缩单元是否存储的情况,每一个长方形格子表示一个压缩单元的存储空间(随着压缩级别的不同,一个压缩单元的尺寸及其对应存储空间大小也可能有所不同),以具有斜线填充的格子表示压缩单元的存储空间非空,空白格子表示压缩单元的存储空间空余。由于第0级子存储空间用于存储经过第0级压缩之后的像素单元,因此第0级子存储空间不存在空余。
[0088] 需要说明的是,图4中在用于表示压缩单元的存储空间的长方形格子中标示的“0”、“1”、“2”、“3”、“4”分别表示第0级压缩后形成的压缩单元(简称为第0级压缩单元)、第1级压缩后形成的压缩单元(简称为第1级压缩单元)、第2级压缩后形成的压缩单元(简称为第2级压缩单元)、第3级压缩后形成的压缩单元(简称为第3级压缩单元)、第4级压缩后形成的压缩单元(简称为第4级压缩单元),其中,第4级压缩单元以虚线框表示,这部分数据存储于第1级子存储空间、第2级子存储空间以及第3级子存储空间的空余存储空间之中。
[0089] 图4中还示出了3个用于缓存压缩标志的移位寄存器,分别为移位寄存器1、移位寄存器2、移位寄存器3,移位寄存器1用于标识第1级子存储空间是否存储压缩单元的情况(图4中以虚线箭头标示对应关系),移位寄存器2用于标识第2级子存储空间是否存储压缩单元的情况(图4中以实线箭头标示对应关系)、移位寄存器3用于标识第3级子存储空间是否存储压缩单元的情况(图4中以点滑线箭头标示对应关系)。如前所述,每个移位寄存器的宽度为T+1个比特,图4中示出的各移位寄存器的每个长方形格子中的数字0或1是移位寄存器中存储的1个比特,每一列比特上方标示的“0”、“1”、“2”、“3”和“T”(此时T=4)分别对应于一个第3级压缩单元及其前面相应的各级压缩单元是否存储的情况(各自的对应关系如粗线箭头所示),其中,“0”对应的一列比特位是各移位寄存器的最低位比特,对应标识图4中最右侧一个第3级压缩单元及其前面相应的各级压缩单元中的第一个压缩单元是否存储的情况,“T”对应的一列比特位是各移位寄存器的最高位比特,对应标识图4中与最右侧的第3级压缩单元间隔T×Xn-1长度的第3级压缩单元及其前面相应的各级压缩单元中的第一个压缩单元是否存储的情况。
[0090] 如果第n级压缩的目标存储空间大小为0,则跳过第n级压缩;否则进行第n级压缩,压缩后的数据CUn(包含长度信息)依照各级压缩单元CUi大小拆分,从第n-1级子存储空间开始依次存储到各级子存储空间中,其位置为与当前CUn-1间隔T×Xn-1长度的压缩单元CUn-1在各级子存储空间中对应的第一个压缩单元位置。由于难压缩的像素单元,在一帧图像中常聚集在一起,通过设置间隔T存储可以使第n级压缩更好的利用空余的存储空间。
[0091] 对应于上述视频帧缓存再压缩装置,本发明实施例还提供一种视频帧缓存解压缩装置,包括:第0级至第n级解压缩器,分别对应于上述视频帧缓存再压缩装置的第0级至第n级压缩器,各级解压缩器分别对其对应的压缩器的压缩数据进行解压缩;输出单元,用于将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。
[0092] 本实施例提供的帧缓存解压缩装置在解压缩时,将各级压缩数据分别解压缩后进行合并,得到最终的解压缩数据。在实际实施时,所述帧缓存解压缩装置,可以采用多个片内存储器来分别缓存从片外存储器读取的各级压缩数据,解压缩器的输入数据复用片内存储器中缓存的已读取数据可以进一步减少带宽。解压缩器从片内存储器中搜索需读取的压缩单元,对搜索未命中的压缩单元数据从片外存储器读取并更新到相应片内存储器中。各级压缩单元缓存的大小根据压缩单元的被访问概率非均匀分配,可以将访问概率较高的低级压缩单元分配较多的缓存空间。通过设置片内存储器来缓存从片外存储器读取的压缩数据,并且片内存储器的大小根据压缩单元的访问概率非均匀分配,可以节省片内存储器的容量。在其他实施例中,也可以不设置用于缓存压缩数据的片内存储器,而是直接从片外存储器读取各级压缩数据进行解压缩。此外,在实际实施时,所述输出单元可以通过配置若干加法器或加法运算电路实现。
[0093] 基于上述视频帧缓存解压缩装置,本实施例还提供一种视频帧缓存解压缩方法,包括:分别以上述视频帧缓存解压缩装置的第0级至第n级解压缩器对各自对应的压缩器的压缩数据进行解压缩;将各级解压缩器解压缩后获得的数据相加以生成像素单元的数据。
[0094] 本发明实施例中像素单元的自适应多级解压缩过程仍然可以参阅图3,具体流程包括如下:
[0095] 1)根据要读取的像素单元的位置判断需要读取的各级压缩单元的位置。
[0096] 参考上述视频帧缓存再压缩方法中相关描述可知,像素单元经过多级再压缩,形成多级的压缩单元,分别存于一帧视频相应的存储空间之中,因此,根据当前要读取的像素单元位于一帧视频图像中的具体位置,便可以获知该像素单元对应的各级压缩单元的存储位置,以便读取所述各级压缩单元以恢复该像素单元的数据。
[0097] 2)根据分配的带宽情况确定数据解压缩的最高级数imax2,imax2的取值范围为[1,n],即imax2为1到n之间的某一整数(包括1和n)。
[0098] 与上述视频帧缓存再压缩方法中关于数据压缩的最高级数imax1相类似,在进行视频帧缓存解压缩过程中,同样可以根据分配的带宽情况确定最高解压缩级数imax2。一般来说,实际分配的带宽越大,则最高解压缩级数imax2的取值也可以越大,此时因解压缩而带来的损失也越少,解压缩后所获得的图像质量也越好。反之,当实际分配的带宽较小时,那么受到带宽限制,解压缩的级数不允许太多,否则会导致数据传输量过大,从而影响视频编解码系统的实时性能。
[0099] 在具体实施时,当确定最高解压缩级数imax2之后,对于超过第imax2级的压缩单元数据则不进行读取和解压缩。在分配的存储带宽不足的情况下,可以省去最后几级的数据读取和解压缩,以少量视频损失来换取视频编解码系统的实时性能,避免跳帧。
[0100] 因此,本实施例提供的视频帧缓存解压缩装置也能够支持根据带宽情况自适应限制传输的解压缩数据级数,调整传输数据量,支持自适应控制视频损失来换取视频编解码系统的实时性能。
[0101] 需要说明的是,一般来说,最高解压缩级数imax2与最高压缩级数imax1相等,视频帧缓存再压缩过程与解压缩过程相对应,解压缩后的视频图像与压缩前的视频图像基本一致。但最高解压缩级数imax2并不一定限于与最高压缩级数imax1相等,当视频帧缓存再压缩过程中,并未设定最高压缩级数imax1,若实际压缩的级数高于imax1,在视频帧缓存解压缩过程则可以设定最高解压缩级数imax2,此时对于大于第imax2级的压缩单元不进行读取和解压缩,从而也能够实现以少量视频损失来换取视频解码的实时性能。
[0102] 3)第0级至第n级压缩单元的读取过程。
[0103] 根据上述视频帧缓存再压缩方法中关于所述压缩标志的相关描述可知,所述压缩标志可以存于各级压缩单元之中,也可以集中存储于片内存储器。如果压缩单元的压缩标志集中存于片内存储器,则根据压缩标志表示的压缩数据长度向所需读取的各级压缩单元对应的片内存储器并行发送读数据指令。如果压缩标志存于各级压缩单元中,则依次从片外存储器中读取各级压缩单元,直至从当前压缩单元中分析出该压缩单元所进行的压缩为无损压缩(即该压缩单元为无损压缩单元)或者当前压缩单元已经是第imax2级压缩单元。在实际实施时,可以根据所述压缩标志判断当前压缩单元是有损压缩单元还是无损压缩单元,例如所述压缩标志为0,则说明当前读取的压缩单元为无损压缩单元,则无需读取下一级压缩单元。此外,也可以将第imax2级压缩单元的压缩标志直接设为0。
[0104] 4)第0级至第n级压缩单元的解压缩过程。读取的各级压缩单元数据送入各级解压缩器进行解压缩,并将解压缩后的各级数据相加生成像素块数据。
[0105] 如图3所示,分别存储于Cache0、Cache1、Cache2、…、Cache n-1的第0级压缩单元、第1级压缩单元、第2级压缩单元、…、第n-1级压缩单元,经读取后,分别由第0级解压缩器、第1级解压缩器、第2级解压缩器、…、第n-1级解压缩器对各级压缩单元进行解压缩,形成相应的解压缩后的数据DEC U0、DEC U1、DEC U2、…、DEC Un-1,这些数据的长度等于像素单元PU的存储尺寸L,其中DEC U0为解压缩后未经过误差修正的像素单元,而DEC U1、DEC U2、…、DEC Un-1则为该像素单元的误差数据。
[0106] 当需要解压缩第n级压缩单元的数据时,需要从第1级至第n-1级子存储空间中读取对应位置的数据,进行拼接后恢复压缩单元CUn,再由第n级解压缩器对压缩单元CUn进行解压缩,得到像素单元的最后一部分误差数据DEC Un。在实际实施时,当读取片内存储器中缓存的数据未命中时,则从片外存储器获取数据并更新相应的片内存储器。
[0107] 各级压缩单元经相应的解压缩器进行解压缩之后,再将解压缩后的各级数据相加便生成像素块数据。
[0108] 由上述的压缩和解压缩流程可知,一个长度 的像素单元PU经0到n-1级压缩后的尺寸可在L0到 的范围内变化,当第n级压缩的目标存储空
间空闲时,压缩后的最大尺寸可以扩展到 这样最坏情况下像素单元有
足够的空间进行扩展存储,降低了因目标存储空间限制引入视频损失的几率。
[0109] 另外,本实施例还提供一种视频系统,包括:上述视频帧缓存再压缩装置和视频帧缓存解压缩装置;第一存储器,适于存储所述视频帧缓存再压缩装置对视频帧中的像素单元进行压缩后形成的压缩数据。
[0110] 具体实施时,所述视频系统还可以包括第二存储器,适于缓存从所述第一存储器读取的压缩数据,以使所述视频帧缓存解压缩装置对所述缓存的压缩数据进行解压缩。实际实施时,所述第一存储器为片外存储器,所述第二存储器为片内存储器。
[0111] 所述视频系统还包括:摄像模块和编码器,所述摄像模块适于向所述视频帧缓存再压缩装置输入视频帧,所述编码器适于对经过所述视频帧缓存解压缩装置解压缩后生成的像素单元的数据进行编码。
[0112] 所述视频系统还包括:解码器和显示模块,所述解码器适于对经过编码的视频帧进行解码后输入所述视频帧缓存再压缩装置,所述显示模块适于对经所述视频帧缓存解压缩装置解压缩后输出的视频帧进行显示。
[0113] 所述视频系统的具体实施可以参考上述视频帧缓存再压缩装置和视频帧缓存解压缩装置的实施,此处不再详细描述。
[0114] 本领域技术人员可以理解,实现上述实施例中视频系统以及帧缓存再压缩/解压缩装置的全部或部分是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM、RAM、磁碟、光盘等。
[0115] 虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈