博客
关于我
无电池摄像头如何实现高清晰度视频编码?
阅读量:216 次
发布时间:2019-02-28

本文共 1404 字,大约阅读时间需要 4 分钟。

日本法政大学副教授提出超低功耗视频采集与编码系统

1. 监控系统实现低功耗的背景

日本作为全球安全性最强的国家之一,公共场所的监控系统尤为完善。随着5G和Smart City技术的普及,对监控系统的要求不断提高,包括高清晰度、低功耗视频采集与压缩、高速度传输以及准确的视频分析能力等。其中,本地端监控系统的功耗问题尤为突出,主要来自于视频采集和压缩环节。

2. 监控系统低功耗目标

2.1 视频采集中的耗电分布

视频采集与压缩是监控系统的关键环节,其中Image sensor的模拟信号转换为数字信号的过程,以及视频编码对像素点的压缩,是主要功耗来源。即使在仅追求低功耗的情况下,352x288的CIF视频的采集、压缩及传输仍需200mW的能耗,而我们的目标是在支持高清及4K分辨率的前提下,将能耗限制在40mW以内。

2.2 降低能耗的原因

日本东京地区已部署约1000万个监控摄像头,通过降低系统能耗可节约相当于小型发电站的功耗。监控系统另一个重要目标是实现快速编码,但目前主流的视频压缩算法(如H.264/AVC、H.265/HEVC、AV1等)都基于像素点压缩,复杂度高,难以满足低功耗需求。

3. 解决方案

3.1 图像采集方法对比

传统图像采集方法中,ADC将模拟信号转换为数字信号后进行像素点压缩。我们提出基于压缩感知的图像采集方法,在ADC之前对图像数据进行初步压缩,从而降低ADC功耗50-70%。这一方法在2013年已由索尼和斯坦福大学验证可行,并被应用于本研究。

3.2 基于压缩感知的图像采集系统

基于压缩感知的图像采集系统通过在摄像头处加入测量矩阵,将模拟信号转换为压缩数据后传递给ADC,减少模拟信号处理的次数和功耗。测量矩阵设计采用随机矩阵原理,确保输入信号在测量域稀疏性,从而降低ADC功耗。

3.3 现有视频压缩算法的兼容问题

传统视频压缩算法基于像素点压缩,难以兼容基于压缩感知的图像采集系统。因此,我们设计了一种新的编码方式,能够有效压缩来自压缩感知系统的测量数据。通过设计特殊的测量矩阵和预测算法,实现了视频压缩与图像采集的兼容性。

3.4 多方向帧内预测

为了进一步降低压缩率,我们在图像采集系统中加入多方向帧内预测功能。通过参考H.264的预测方法,设计了九方向预测矩阵,对残差进行量化和熵编码,从而显著提升压缩效率。

4. 系统效果对比

4.1 视频压缩到约20%的效果

采用基于压缩感知的图像采集系统,视频压缩率可达到约20%。图像采集功耗仅为传统方法的50%,压缩功耗更是低于HEVC Intra coding的10%。

4.2 不同采样率下的压缩效果

通过实验验证,不同采样率下的压缩效果如图所示。SR为0.25时,压缩率为25%,PSNR为31.84dB;SR为0.5时,压缩率为50%,PSNR为33.72dB;SR为0.75时,压缩率为75%,PSNR为35.12dB。结果表明,系统性能稳定可靠。

4.3 提高重建视频质量的算法

为提高重建视频质量,我们在系统中集成了四种视频解码端算法。这些算法通过优化预测和量化过程,显著提升了重建图像的质量,特别是在运动区域检测方面表现尤为突出。

5. 展望

本次分享的技术可不仅限于监控系统应用。超低功耗的视频采集与编码方法在多个领域均有广泛应用潜力。未来,我们将继续深化研究,推动视频压缩技术的进一步发展。

转载地址:http://wyyp.baihongyu.com/

你可能感兴趣的文章
Python FileDialog获取文件夹路径不是文件
查看>>
python filter过滤器的使用_python基础知识分享:zip()、filter函数和reduce如何使用?...
查看>>
python flask 请求code 400, message Bad request version
查看>>
Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
查看>>
python valueerror object2_python遇到错误记录
查看>>
Python virtualenv
查看>>
python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
查看>>
Python WebDriver如何打印整个页面源(html)
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 复习计划
查看>>
Python 多处理 Numpy 随机
查看>>
Python 多处理:在第一个子错误时中止映射
查看>>
Python 多处理不断产生 pythonw.exe 进程而不做任何实际工作
查看>>
Python 多处理如何优雅地退出?
查看>>
Python 多处理模块的 .join() 方法到底在做什么?
查看>>
python 学习 面向对象编程
查看>>
Python基础语法与执行脚本的3种方式
查看>>
python基础篇(1):type()
查看>>
python基础篇(15):闭包
查看>>
python基础篇(11):封装
查看>>