3.2 底层驱动移植模块设计

Android系统本身是一个庞大的系统,移植需要考虑Android系统的硬件抽象层(HAL)和Linux中的相关设备驱动程序。移植的目的就是为了改动较小的内容,支撑较为庞大的上层系统。该系统驱动的移植主要为满足上层应用层的USB摄像头视频采集需求。

Android系统驱动移植首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中。移植的主要工作有两方面:Linux驱动、Android系统硬件抽象层。

USB摄像头驱动程序介于视频采集应用程序与Linux内核中USB核心的中间层。其一,USB摄像头驱动向USB核心注册本身的信息,并调用USB核心提供的API函数为上层服务;其二,应用程序通过调用USB摄像头驱动的一套接口函数进行视频采集和调整摄像头参数等操作,如图5所示。

3.3 视频采集模块设计

基于Android系统的H.264压缩技术的视频采集部分包括Android视频流的提取以及Android界面设计两部分。Android可以在拍照视频预览时截取视频流的数据。每获得一帧调用相应的接口函数。其中在Android的上层界面中定义了一个SurfaceView类,主要用于显示采集到的图像。Android通过USB摄像头采集格式为YUV的视频数据,通过SurfaceView类接口传输到应用层通过图像绘制进行显示。

应用程序界面设计具体步骤:打开Android项目里的res\layout目录,用xml语言来编辑设计程序界面。首先确定界面的布局,嵌套ViewGroup的Linear-Layout和RelativeLayou进行布局,调整android:layout_width、android:layout_height、android:back-ground、android:padding等参数值,达到满意的整体布局效果。然后在ViewGrotrp布局中添加View控件:textview、button根据实际需要调整各控件的android:id、android:layout_heigllt、android:layout_width等参数值,最终完成对Android应用程序UI的布局。

3.4 H.264视频压缩模块设计

H.264是由ITU-T的VCEG和ISO/IEC的MPEG联合组建的联合视频组提出的一个新数字视频编码标准。它由VCL层和NAL层组成,VCL层主要负责编解码,主要包括运动补偿、变换编码、熵编码等;NAL层主要为VCL提供与网络无关的统一接口,负责将视频数据封装打包后传递给网络。

H.264标准视频压缩算法包括5个环节:帧间帧内预测编码、正反变换编码、量化反量化编码、环路滤波和熵编码。算法流程如图6所示。

技术实现是在Android操作系统上封装编译生成Android底层Library的JNI动态链接库,进而实现H.264标准编解码。具体实现步骤:选择合适的编码器,系统采用X264的编码器。X264省去了部分复杂增益,编码速度非常快,可以对CIF格式图像实时编码。H.264压缩画面以及分辨率:支持CIF/QCIF;图像分辨率:352×288;压缩格式H.264、MPEG-4压缩格式;压缩帧率:1~25帧可调;压缩码率:64 kbit·s-1~2 Mbit·s-1:码流控制方式:变码流、动码流、混合码流。H.264的优势主要体现在下面几个方面:(1)精确匹配解码,避免错误累积;(2)更简单的规范实施;(3)强大的容错能力;(4)高效压缩,比其他视频压缩能力高50%以上;(5)时延级差,以适应更多应用环境等。

Android视频压缩实现,基于Android系统的H.264视频压缩技术实现相关推荐

  1. Android本科毕业设计基于Android的天气预报APP系统(附带源码)

    Android本科毕业设计基于Android的天气预报开发APP系统源码.显示城市当前的实时天气状况,包括城市名称.城市名片.天气情况.温度高低.星期等信息.界面左边有一列城市列表,显示中国各个城市名 ...

  2. H.264算法的DSP移植与优化

    摘要:在TMS320DM643平台上实现H.264基档次编码器的移植与优化显得格外实用和必要.基于对DSP平台的结构特性和H.264的计算复杂度分析,主要从核心算法.数据传输和存储器/Cache使用几 ...

  3. H.264解码器中CAVLC码表查找算法的分析与优化

    0 引言    近年来,随着信息技术飞速发展和互联网的日益普及,尤其是以视频为信息主要来源的多媒体领域越来越受到人们的关注.H.264是ITU-T的视频编码专家组(VCEG)和ISO/IEC的活动图像 ...

  4. H.264码率控制机制

    H.264标准码率控制算法步骤如下: 1.计算当前帧的目标码字,并将其限定到HRD的边界中. 2.通过线性模型(式4.5)预测当前帧中基本单元的MAD. 3.为未编码基本单元分配码字. 4.通过二次R ...

  5. H.264的码率控制算法

    H.264的码率控制算法采用了多种技术,其中包括自适应基本单元层(Adaptive Basic Unit Layer).流量往返模型(Fluid Traffic Model).线性MAD模型.二次率失 ...

  6. 基于android预约功能,基于Android的银行业务预约系统的设计与实现

    摘要: 随着我国国民经济的快速发展,居民的人均收入水平不断提高,人们对银行金融产品和服务的需求急剧膨胀,越来越多的普通民众需要到银行办理业务.尽管网上银行,手机银行得到了大力推广,但出于金融安全等多项 ...

  7. android 表情识别,基于Android平台的人脸表情识别系统的设计与实现

    摘要: 随着目前移动设备硬件技术的不断发展,其性能与PC的差距越来越小,这使得在嵌入式平台上进行图像处理成为了可能.目前使用最广泛的是基于Android系统的嵌入式平台,与之相关的图像类应用需求也渐渐 ...

  8. Android项目:基于Android手机校园外卖订餐系统(计算机毕业设计)

    本外卖订餐系统是一个Android 客户端+JSP Servlet服务端应用程序,启动Android上的应用程序后可以登录.查看菜品等. 该在线外卖订餐系统app毕业设计系统主要是分为手机端和后台服务 ...

  9. Android低功耗优化,基于Android嵌入式系统的低功耗优化

    摘要: 在信息技术快速发展的今天,随着集成电路技术和移动互联网技术的快速发展,基于Android嵌入式系统多核处理器的手机已经越来越普及,成为人们日常生活中不可或缺的电子产品.然而,由于受到手机体积, ...

最新文章

  1. 活动目录系列之一:基本概念
  2. 【xinfanqie】五方面快速解决Win8蓝屏问题
  3. 设计数据密集型应用程序_设计数据密集型应用程序书评
  4. c3等待加载样式 vue_Vue.js__简易加载等待动画
  5. 一程序员被判 9 个月:因薪酬等问题离职,rm -f * 删库,瘫痪 6 个小时
  6. 灵光一闪-(面对对象实践)
  7. 已经通过CMMI/CMM3级评估的企业名单
  8. Exception:must implement OnFragmentInteractionListener
  9. 511遇见易语言分割文本
  10. 基于eclipse+swing+mysql的汽车保养记录系统的开发1-----登录界面的实现
  11. 那时候的漫画【怀旧贴】
  12. 微信企业号开发:企业支付成功后关闭交易页面问题
  13. 吸毒后人脸变化系统在禁毒教育展厅中的应用
  14. 模拟手柄控制器点击没有反应的问题
  15. 2023年2.14情人节最浪漫的表白烟花,送给自己的脑婆(源码)
  16. 发生事故单位照常发工资可不可以索要误工费
  17. 解决H5安卓自带浏览器video层级问题
  18. 用 Python 写一个俄罗斯方块游戏
  19. [清华集训2014]奇数国
  20. 洛谷P2141珠心算测验 (枚举暴力解法)

热门文章

  1. ros机器人软件平台的五大特点
  2. 项目38.2 打豆豆
  3. java照明模型_在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。...
  4. ECG信号读取,检测QRS,P,T 波(基于小波去噪与检测),基于BP神经网络的身份识别
  5. Fiddler屏蔽某些url的抓取方法
  6. 3M Design和Matteo Thun Partners在2019年米兰设计周中开展合作
  7. 计算机概论和数据表示
  8. base cap 分布式_1、分布式基础之CAP和BASE理论
  9. 虚幻4模型提取_虚幻4熊模型资源Animals: Bear
  10. 无线电基础电路 > RLC阻尼系数计算仿真