一种Camera中间层图像处理方法及片上系统技术方案

技术编号:19970701 阅读:41 留言:0更新日期:2019-01-03 16:25
一种Camera中间层图像处理方法及片上系统,通过增加容错处理,预先修复存在异常或丢失的视频数据,减少解码视频数据时报错的概率,进而尽可能通过解码器进行硬件解码,减少调用软件解码的概率,提高片上系统的解码性能。同时,本发明专利技术还增加了过滤处理的步骤,以满足后续模块的要求,提升系统显示性能。本发明专利技术,还将片上系统的多核中央处理器分别绑定不同线程,实现软、硬件并行操作,进一步提升片上系统的显示性能。此外,从显示质量来看,由于本发明专利技术,针对所述片上系统,选择了更优的解码数据格式,因而,在保证显示性能的同时,本发明专利技术能够进一步提供更高的显示质量。

A Camera Intermediate Layer Image Processing Method and On-Chip System

A Camera mid-level image processing method and on-chip system can pre-repair abnormal or missing video data by adding fault-tolerant processing, reduce the probability of error when decoding video data, and then decode hardware by decoder as far as possible, reduce the probability of calling software decoding, and improve the decoding performance of on-chip system. At the same time, the invention also adds the steps of filtering processing to meet the requirements of subsequent modules and improve the display performance of the system. The invention binds the multi-core CPU of the on-chip system to different threads, realizes the parallel operation of software and hardware, and further improves the display performance of the on-chip system. In addition, from the view of display quality, since the present invention has selected a better decoded data format for the on-chip system, the present invention can further provide higher display quality while guaranteeing display performance.

【技术实现步骤摘要】
一种Camera中间层图像处理方法及片上系统
本专利技术涉及Camera中间层技术,尤其涉及一种Camera中间层的图像处理方法及片上系统。
技术介绍
随着移动网络嵌入式的普及和发展,嵌入式设备中的片上系统(SoC,SystemonChip)的功能越来越强大,因此,嵌入式设备的应用也就越来越广泛,例如用户可以将各种多媒体应用程序(APP,application)例如可视通话APP,在线会议APP等安装到嵌入式系统中,以便实时的跟对方进行沟通。以在线会议为例,对图像显示的效果要求很高,因而图像显示实时性和流畅度是人们衡量和购买嵌入式设备的重要指标。在线会议的应用场景一般是发生在两个机顶盒终端之间或者是机顶盒终端跟手机或者其他支持该功能的网络设备之间。通信的两个设备之间需要保证能跟应用平台服务器联通,这样才能互相通信。设备上安装相关应用,并注册一个账号,然后登录,登录成功后,就可以拨打需要通信的对端的账号来进行视频通话。上述多媒体APP在运行的过程中,都是基于视频的实时播放,换句话说,视频的编码和解码是嵌入式系统的一个重要组成部分。与个人计算机(PC)上的操作系统不同,由于嵌入式系统本身硬件的条件限制,目前嵌入式设备的编码和解码速度和效果却不尽人意。由于视频的播放涉及到图像解码,而现有片上系统中央处理器(CPU)的计算能力有限,如果这些图像编、解码都由中央处理器来处理,那这对CPU来说将带来一个很大的负载。现有技术中,嵌入式设备的片上系统在进行视频图像编解码时往往遇到以下两种情况:一种是没有专门的用于进行图形处理的图像编码器和图像解码器;一种是有相应的硬件处理,但是硬件处理的能力有限,对于存在异常的片源完全无法处理。这两种情况都会直接或者间接的把图形编码和解码操作全部交给CPU来处理,进而加大CPU的负载,降低系统的整体性能。对用户层面,主要表现为,视频会议通话时界面显示卡顿,最终影响用户的体验。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种Camera中间层图像处理方法及片上系统。首先,为实现上述目的,提出一种Camera中间层图像处理方法,包括以下步骤:第一步,接收调用请求;第二步,响应所述调用请求,对软件资源与硬件资源进行初始化;第三步,根据所述初始化结果判断是否支持硬件解码,根据所述调用请求中的视频数据判断是否进行容错处理,若进行所述容错处理,则跳转至第四步;否则,跳转至第五步;第四步,分析所述视频数据,判断是否存在数据丢失或异常,若不存在数据丢失或异常,则直接跳转至第五步;否则,先进行数据修复,再跳转至第五步;第五步,若所述第三步中判断支持硬件解码,则调用解码器接口,由所述解码器对所述视频数据进行硬件解码;否则,调用软件库对所述视频数据进行软件解码;获得解码数据;第六步,过滤处理,分析第五步中获得的所述解码数据,检测是否存在数据异常,若存在数据异常,则丢弃存在数据异常的所述解码数据,跳转至第七步;否则,直接跳转至第七步;第七步,输出所述解码数据至帧缓冲设备;或将所述解码数据进行OMX框架层编码后,输出至网络层。进一步,上述方法的第四步中,所述容错处理根据所述视频数据的编码标准协议,解析所述视频数据,并判断所述视频数据的字段信息是否符合所述编码标准协议;对不符合所述编码标准协议的所述视频数据的字段信息进行修复;所述修复包括补充缺失信息或者跳过多余信息。同时,上述方法的第六步中,所述过滤处包括通过分块探测方法检测数据异常;所述分块检测方法包括检测所述解码数据中Y、U、V分量中的一个或者多个。其次,为实现上述目的,还提出一种用于图像处理的Camera中间层架构,包括依次连接的接收单元、初始化单元、判断单元、解码单元、过滤单元和输出单元,还包括容错单元:所述接收单元用于接收应用层的调用请求,获取所述调用请求中携带的视频数据以及处理任务;所述初始化单元用于响应所述处理任务,对所述Camera中间层进行初始化,获得配置信息,根据所述配置信息配置所述的Camera中间层的软件资源和硬件资源;所述判断单元用于根据所述配置信息判断是否支持硬件解码,根据所述调用请求中携带的视频数据判断是否进行容错处理,若进行容错处理,则调用所述容错处理单元,否则,调用所述解码单元;所述容错单元连接于所述判断单元与所述解码单元之间,用于对丢失或异常的所述视频数据进行修复;所述解码单元用于对所述视频数据进行解码,输出解码数据;所述过滤单元用于检测所述解码数据是否存在异常,丢弃存在异常的所述解码数据;所述输出单元用于缓冲所述过滤单元输出的所述解码数据,将所述解码数据进行本地显示;所述输出单元还用于对所述解码数据进行OMX框架层编码,生成H264数据,对所述编码后的H264数据进行RTP打包,将打包后的数据输出至网络层。进一步,上述Camera中间层中,所述解码单元包括硬件解码器和软件解码单元:所述解码单元在所述判断单元判断支持硬件解码时,调用硬件解码器进行硬件解码;在所述判断单元判断不支持硬件解码时,或在所述硬件解码器反馈的响应信息报错时调用软件解码单元进行软件解码。更进一步,上述Camera中间层中,所述软件解码单元包括FFMPEG开源库或LIBJPEG开源库中的一种或多种。具体的,上述Camera中间层中,所述解码单元解码输出所述解码数据的格式包括NV12、RGB888、RGB565或YUV中的一种或多种。本专利技术还提供一种实现上述Camera中间层图像处理方法的片上系统,所述片上系统包括多核中央处理器,其特征在于,所述每个中央处理器分别绑定一个线程,每个线程对应一个队列;所述队列分别将本线程处理结果输出至下一线程;所述多核中央处理器中的各线程并行处理;所述线程包括容错处理线程、解码线程、过滤处理线程以及输出线程。具体而言,上述片上系统中:所述容错处理线程用于判断所述视频数据是否存在数据丢失或异常,若不存在数据丢失或异常,则直接通过第一队列将所述视频数据输出至解码线程;否则,先对丢失或异常的数据进行数据修复,再通过所述第一队列将所述视频数据输出至所述解码线程;所述解码线程用于调用解码器接口,由所述解码器对所述视频数据进行硬件解码;或,在无法调用解码器接口时,或在调用的解码器接口反馈的响应信息报错时,调用软件库对所述视频数据进行软件解码;通过第二队列将所述解码数据输出至过所述滤处理线程;所述过滤处理线程用于检测所述解码数据是否存在数据异常,丢弃存在数据异常的所述解码数据,通过第三队列将不存在数据异常的所述解码数据输出至所述输出线程;所述输出线程用于输出所述解码数据至帧缓冲设备;或将所述解码数据进行OMX框架层编码后,打包,输出至网络层。更进一步,本专利技术还提供一种采用如上片上系统的嵌入式设备,所述嵌入式设备包括机顶盒、智能手机、平板电脑、导航仪、车载电视、个人数字助理终端中的一种或多种。有益效果本专利技术通过增加容错处理以及过滤处理步骤,在进行解码之前和解码完成后分别对数据中的错误进行处理。在解码前,通过容错处理预先修正错误的数据,提高成功调用进行硬件解码的概率,减少CPU进行软件解码的负荷,提高显示性能。将解码后的数据进行过滤,筛除异常数据不进行传输或显示,能够提高后续模块的容错性能,从而进一步提高系统的显示性能本文档来自技高网
...

【技术保护点】
1.一种Camera中间层图像处理方法,其特征在于,步骤包括:第一步,接收调用请求;第二步,响应所述调用请求,对软件资源与硬件资源进行初始化;第三步,根据所述初始化结果判断是否支持硬件解码,根据所述调用请求中的视频数据判断是否进行容错处理,若进行所述容错处理,则跳转至第四步;否则,跳转至第五步;第四步,分析所述视频数据,判断是否存在数据丢失或异常,若不存在数据丢失或异常,则直接跳转至第五步;否则,先进行数据修复,再跳转至第五步;第五步,若所述第三步中判断支持硬件解码,则调用解码器接口,由所述解码器对所述视频数据进行硬件解码;否则,调用软件库对所述视频数据进行软件解码;获得解码数据;第六步,过滤处理,分析第五步中获得的所述解码数据,检测是否存在数据异常,若存在数据异常,则丢弃存在数据异常的所述解码数据,跳转至第七步;否则,直接跳转至第七步;第七步,输出所述解码数据至帧缓冲设备;或将所述解码数据进行OMX框架层编码后,输出至网络层。

【技术特征摘要】
1.一种Camera中间层图像处理方法,其特征在于,步骤包括:第一步,接收调用请求;第二步,响应所述调用请求,对软件资源与硬件资源进行初始化;第三步,根据所述初始化结果判断是否支持硬件解码,根据所述调用请求中的视频数据判断是否进行容错处理,若进行所述容错处理,则跳转至第四步;否则,跳转至第五步;第四步,分析所述视频数据,判断是否存在数据丢失或异常,若不存在数据丢失或异常,则直接跳转至第五步;否则,先进行数据修复,再跳转至第五步;第五步,若所述第三步中判断支持硬件解码,则调用解码器接口,由所述解码器对所述视频数据进行硬件解码;否则,调用软件库对所述视频数据进行软件解码;获得解码数据;第六步,过滤处理,分析第五步中获得的所述解码数据,检测是否存在数据异常,若存在数据异常,则丢弃存在数据异常的所述解码数据,跳转至第七步;否则,直接跳转至第七步;第七步,输出所述解码数据至帧缓冲设备;或将所述解码数据进行OMX框架层编码后,输出至网络层。2.如权利要求1所述的Camera中间层图像处理方法,其特征在于,所述第四步中,所述容错处理根据所述视频数据的编码标准协议,解析所述视频数据,并判断所述视频数据的字段信息是否符合所述编码标准协议;对不符合所述编码标准协议的所述视频数据的字段信息进行修复;所述修复包括补充缺失信息或者跳过多余信息。3.如权利要求1所述的Camera中间层图像处理方法,其特征在于,所述第六步中,所述过滤处理包括通过分块探测方法检测数据异常;所述分块探测方法包括检测所述解码数据中Y、U、V分量中的一个或者多个。4.一种用于图像处理的Camera中间层,其特征在于,包括依次连接的接收单元、初始化单元、判断单元、解码单元、过滤单元和输出单元,还包括容错单元;所述接收单元用于接收应用层的调用请求,获取所述调用请求中携带的视频数据以及处理任务;所述初始化单元用于响应所述处理任务,对所述Camera中间层进行初始化,获得配置信息,根据所述配置信息配置所述的Camera中间层的软件资源和硬件资源;所述判断单元用于根据所述配置信息判断是否支持硬件解码,根据所述调用请求中携带的视频数据判断是否进行容错处理,若进行容错处理,则调用所述容错处理单元,否则,调用所述解码单元;所述容错单元连接于所述判断单元与所述解码单元之间,用于对丢失或异常的所述视频数据进行修复;所述解码单元用于对所述视频数据进行解码,输出解码数据;所述过滤单元用于检测所述解码数据是否存在...

【专利技术属性】
技术研发人员:赵丙山
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1