位置:51电子网 » 技术资料 » 嵌入式系统

嵌入式设备的静止图像编码(二)

发布时间:2008/5/27 0:00:00 访问次数:379

。若sad小于某个门限t,各个变换系数绝对值小于量化步长(qstep),该块为0块。

实验中取t等于3qstep,获得了较高的检测率和较低的检测差错率。h.264 采用整型变换,为简化门限的推导,其中的整型变换与4×4的离散余弦变换(dct)相差较小,dct变换为:     
在intra帧量化中时,f(u,v)量化为0,即时,所有变换系数量化为0。由于该式是量化系数全为零的充分条件,而不是必要条件。实验结果显示,使用该门限检测出零块的正确性为100%,大量的量化系数为全零块却检测不出来。为了大幅提高零块检出率,增大该门限t为3qstep,测量miss.qcf 20帧编码的平均情况,测试结果见表1。从表1可以看出,零块检测率随着量化索引增大而增大,可能将部分非零块检测成零块,但这对信噪比影响不大。

2 缩减存储器需求
减少运算中的存储器需求对于嵌入式设备十分重要。宏块编码的过程包含预测、模式选择、变换量化扫描、逆量化等。从图2可以看出,在intra16×16的4种预测模式中,只使用上边和左边的各16个像素作为预测参考,在intra 4×4 的9种预测模式中,仅使用左边4个像素和上边9个像素作为预测参考,因而重建图像并不需要整帧存储,只需存储这几个参考点就可以了。假设宏块编码按照从左到右、从上到下顺序进行,则水平方向的像素需要存储一整行。

在intra 4×4模式编码时,由于相邻的4×4块模式高度相关,采用相邻块的预测模式预测当前块的最可能模式,同样只需要存储上边一行4×4和左边一个4×4块的编码模式(如图3)。在对量化后变字长编码(vlc)系数的个数进行编码时,需要利用相邻两块的非零系数个数对该块进行预测,也只需要存储上边一行4×4和左边一个4×4块的编码模式的非零系数个数,如图3。
图3 相邻 4×4 intra编码块

在对整帧图像的数据比特串(sodb)添加原始字节序列载荷(rbsp)结尾比特(rbsp trailing bits,添加一比特的“1”和若干比特“0”,以便字节对齐)后,再检查rbsp 中是否存在连续的三字节“00000000 00000000 000000xx”;若存在这种连续的三字节码,在第三字节前插入一字节的“0×03”,以免与起始码竞争,形成ebsp码流,这需要将近两倍的整帧图像码流大小。为了减小存储器需求,在每个宏块编码结束后即检查该宏块sodb中的起始码竞争问题,并保留sodb最后两字节的零字节个数,以便与下一宏块的sodb的开始字节形成连续的起始码竞争检测;对一帧图像的最后一个宏块,先添加结尾停止比特,再检测起始码竞争。

采用这种方法产生h.264 附录b中的字节流时,存储器需求从两帧码流大小缩小到两个宏块码流大小。通过对码流输出过程的改进,使intra帧编码需要的存储器大小不随图像大小的增加而增加,这时编码过程中的存储器不超过9k个整数。对于基于片上存储器的多媒体处理器,存储器需求的减少可以大量缩减中间结果的片外片上转移,减小数据转移的负担,提高程序的运行速度。   

采用h.264 intra帧对静止图像进行编码时,在编码器端不需要显示本地重建图像,可省掉去方块效应滤波器;利用模式选择时计算的绝对差值和,可提前判断量化后全零系数块,节省大量的计算。分阶段地对各个宏块的码流插入竞争阻止字节(emulation prevention byte),以保证原始字节序列载荷中不含起始码,有效减少存储器的需求。运算复杂性和存储器需求极低的h.264 intra编码模式,可代替jpeg2000,用于嵌入式设备的静止图像编码。

。若sad小于某个门限t,各个变换系数绝对值小于量化步长(qstep),该块为0块。

实验中取t等于3qstep,获得了较高的检测率和较低的检测差错率。h.264 采用整型变换,为简化门限的推导,其中的整型变换与4×4的离散余弦变换(dct)相差较小,dct变换为:     
在intra帧量化中时,f(u,v)量化为0,即时,所有变换系数量化为0。由于该式是量化系数全为零的充分条件,而不是必要条件。实验结果显示,使用该门限检测出零块的正确性为100%,大量的量化系数为全零块却检测不出来。为了大幅提高零块检出率,增大该门限t为3qstep,测量miss.qcf 20帧编码的平均情况,测试结果见表1。从表1可以看出,零块检测率随着量化索引增大而增大,可能将部分非零块检测成零块,但这对信噪比影响不大。

2 缩减存储器需求
减少运算中的存储器需求对于嵌入式设备十分重要。宏块编码的过程包含预测、模式选择、变换量化扫描、逆量化等。从图2可以看出,在intra16×16的4种预测模式中,只使用上边和左边的各16个像素作为预测参考,在intra 4×4 的9种预测模式中,仅使用左边4个像素和上边9个像素作为预测参考,因而重建图像并不需要整帧存储,只需存储这几个参考点就可以了。假设宏块编码按照从左到右、从上到下顺序进行,则水平方向的像素需要存储一整行。

在intra 4×4模式编码时,由于相邻的4×4块模式高度相关,采用相邻块的预测模式预测当前块的最可能模式,同样只需要存储上边一行4×4和左边一个4×4块的编码模式(如图3)。在对量化后变字长编码(vlc)系数的个数进行编码时,需要利用相邻两块的非零系数个数对该块进行预测,也只需要存储上边一行4×4和左边一个4×4块的编码模式的非零系数个数,如图3。
图3 相邻 4×4 intra编码块

在对整帧图像的数据比特串(sodb)添加原始字节序列载荷(rbsp)结尾比特(rbsp trailing bits,添加一比特的“1”和若干比特“0”,以便字节对齐)后,再检查rbsp 中是否存在连续的三字节“00000000 00000000 000000xx”;若存在这种连续的三字节码,在第三字节前插入一字节的“0×03”,以免与起始码竞争,形成ebsp码流,这需要将近两倍的整帧图像码流大小。为了减小存储器需求,在每个宏块编码结束后即检查该宏块sodb中的起始码竞争问题,并保留sodb最后两字节的零字节个数,以便与下一宏块的sodb的开始字节形成连续的起始码竞争检测;对一帧图像的最后一个宏块,先添加结尾停止比特,再检测起始码竞争。

采用这种方法产生h.264 附录b中的字节流时,存储器需求从两帧码流大小缩小到两个宏块码流大小。通过对码流输出过程的改进,使intra帧编码需要的存储器大小不随图像大小的增加而增加,这时编码过程中的存储器不超过9k个整数。对于基于片上存储器的多媒体处理器,存储器需求的减少可以大量缩减中间结果的片外片上转移,减小数据转移的负担,提高程序的运行速度。   

采用h.264 intra帧对静止图像进行编码时,在编码器端不需要显示本地重建图像,可省掉去方块效应滤波器;利用模式选择时计算的绝对差值和,可提前判断量化后全零系数块,节省大量的计算。分阶段地对各个宏块的码流插入竞争阻止字节(emulation prevention byte),以保证原始字节序列载荷中不含起始码,有效减少存储器的需求。运算复杂性和存储器需求极低的h.264 intra编码模式,可代替jpeg2000,用于嵌入式设备的静止图像编码。

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!