书签 分享 收藏 举报 版权申诉 / 24

图像处理的方法、装置和系统.pdf

  • 上传人:zhu****_FC
  • 文档编号:6200698
  • 上传时间:2019-05-20
  • 格式:PDF
  • 页数:24
  • 大小:1.85MB
  • 摘要
    申请专利号:

    CN201610281669.1

    申请日:

    2016.04.29

    公开号:

    CN105955687A

    公开日:

    2016.09.21

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 3/14申请日:20160429|||公开

    IPC分类号:

    G06F3/14; G06T1/20

    主分类号:

    G06F3/14

    申请人:

    华为技术有限公司

    发明人:

    朱冬梅

    地址:

    518129 广东省深圳市龙岗区坂田华为总部办公楼

    优先权:

    专利代理机构:

    北京龙双利达知识产权代理有限公司 11329

    代理人:

    毛威;时林

    PDF完整版下载: PDF下载
    内容摘要

    本发明实施例提供了一种图像处理的方法、装置和系统。该方法包括:中央处理器CPU在第一缓冲区中写入第一图像对应的第一图像数据;该CPU在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。本发明实施例提供的图像处理的方法、装置和系统,在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像数据进行处理,从而减少了数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。

    权利要求书

    1.一种图像处理的方法,其特征在于,所述方法包括:
    中央处理器CPU在第一缓冲区中写入第一图像对应的第一图像数据;
    所述CPU在第二缓冲区中写入第二图像对应的第二图像数据,以便于
    图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一图像和
    所述第二图像进行叠加处理。
    2.根据权利要求1所述的方法,其特征在于,在所述第一缓冲区写入
    所述第一图像数据之前,所述方法还包括:
    所述CPU向所述图像处理器发送第一指示信息,所述第一指示信息用
    于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述
    第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者
    所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像
    叠加后,所述第二图像位于所述第二图像显示区域;
    所述CPU向所述图像处理器发送第二指示信息,所述第二指示信息用
    于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的上面,
    所述第二图层用于承载所述第二图像。
    3.根据权利要求1或2所述的方法,其特征在于,在所述第二缓冲区
    写入所述第二图像数据之前,所述方法还包括:
    所述CPU向所述图像处理器发送第三指示信息,所述第三指示信息用
    于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用
    于显示所述第二图像,所述第二图层用于承载所述第二图像。
    4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一
    缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述
    第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
    5.一种图像处理的方法,其特征在于,所述方法包括:
    图像处理器从第一缓冲区中读取第一图像对应的第一图像数据;
    所述图像处理器从第二缓冲区读取第二图像对应的第二图像数据;
    所述图像处理器基于所述第一图像数据和所述第二图像数据,对所述第
    一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是中央处理
    器CPU写入所述第一缓冲区的图像数据,所述第二图像数据是所述CPU写
    入所述第二缓冲区的图像数据。
    6.根据权利要求5所述的方法,其特征在于,从所述第一缓冲区读取
    所述第一图像数据前,所述方法还包括:
    所述图像处理器接收所述CPU发送的第一指示信息,所述第一指示信
    息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载
    所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,
    或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二
    图像叠加后,所述第二图像位于所述第二图像显示区域;
    所述图像处理器根据所述第一指示信息将所述第一图层设置为透明;
    所述图像处理器接收所述CPU发送的第二指示信息,所述第二指示信
    息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层的
    上面,所述第二图层用于承载所述第二图像;
    所述图像处理器根据所述第二指示信息,将所述第一图层的显示顺序设
    置于所述第二图层的上面。
    7.根据权利要求5或6所述的方法,其特征在于,从所述第二缓冲区
    读取所述第二图像数据前,所述方法还包括:
    所述图像处理器接收所述CPU发送的第三指示信息,所述第三指示信
    息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区
    域用于显示所述第二图像,所述第二图层用于承载所述第二图像;
    所述图像处理器根据所述第三指示信息,在所述第二图层设置所述屏幕
    显示区域。
    8.根据权利要求5至7中任一项所述的方法,其特征在于,所述第一
    缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所述
    第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
    9.一种图像处理的装置,其特征在于,所述装置包括:
    输出模块,用于在第一缓冲区中写入第一图像对应的第一图像数据;在
    第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于所
    述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行
    叠加处理。
    10.根据权利要求9所述的装置,其特征在于,在所述第一缓冲区写入
    所述第一图像数据之前,所述输出模块还用于:
    向所述图像处理器发送第一指示信息,所述第一指示信息用于指示所述
    图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,
    其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图
    像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所
    述第二图像位于所述第二图像显示区域;
    向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述
    图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图
    层用于承载所述第二图像。
    11.根据权利要求9或10所述的装置,其特征在于,在所述第二缓冲
    区写入所述第二图像数据之前,所述输出模块还用于:
    向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述
    图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述
    第二图像,所述第二图层用于承载所述第二图像。
    12.根据权利要求9至11中任一项所述的装置,其特征在于,所述第
    一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所
    述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器的缓冲区。
    13.一种图像处理的装置,其特征在于,所述装置包括:
    输入模块,用于从第一缓冲区中读取第一图像对应的第一图像数据;从
    第二缓冲区读取第二图像对应的第二图像数据;
    处理模块,用于基于所述输入模块读取的所述第一图像数据和所述第二
    图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述第一
    图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,所述第二图
    像数据是所述CPU写入所述第二缓冲区的图像数据。
    14.根据权利要求13所述的装置,其特征在于,从所述第一缓冲区读
    取所述第一图像数据前,所述输入模块还用于:
    接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所述
    装置将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,
    所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括
    空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二
    图像位于所述第二图像显示区域;
    接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述
    装置将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于
    承载所述第二图像;
    其中,所述处理模块还用于:
    根据所述第一指示信息将所述第一图层设置为透明;
    根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图
    层的上面。
    15.根据权利要求13或14所述的装置,其特征在于,从所述第二缓冲
    区读取所述第二图像数据前,所述输入模块还用于:
    接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述
    装置在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图
    像,所述第二图层用于承载所述第二图像;
    其中,所述处理模块还用于:
    根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。
    16.根据权利要求13至15中任一项所述的装置,其特征在于,所述第
    一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二帧缓冲区,其中,所
    述第一帧缓冲区和所述第二帧缓冲区是所述装置的缓冲区。
    17.一种图像处理的系统,其特征在于,所述系统包括
    根据权利要求9至12中任一项所述的图像处理的装置;
    根据权利要求13至16中任一项所述的图像处理的装置。

    说明书

    图像处理的方法、装置和系统

    技术领域

    本发明涉及计算机领域,尤其涉及一种图像处理的方法、装置和系统。

    背景技术

    当前,显示设备的显示分辨率要求越来越高,而嵌入式设备(例如机顶
    盒、智能电视)的处理能力较弱,因此,提升图像的显示性能至关重要。为
    了减少浏览器引擎的刷新等待时间,现有技术使用至少两个共享缓冲区
    (share buffer)存储网页图像,这样大大增加了内存的使用量,此外,浏览
    器引擎将网页图像写入共享缓冲区后,浏览器的UI(User Interface,用户界
    面)线程还需要从该共享缓冲区中读取网页图像,将其与本地图像叠加后输
    出到显示设备,这也增大了图像处理的时间。

    发明内容

    有鉴于此,本发明实施例提供了一种用于图像处理的方法、装置和系统,
    能够减少内存的使用,并且能够减少图像处理的时间。

    第一方面,提供了一种图像处理的方法,该方法包括:中央处理器CPU
    在第一缓冲区中写入第一图像对应的第一图像数据;所述CPU在第二缓冲
    区中写入第二图像对应的第二图像数据,以便于图像处理器基于所述第一图
    像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处
    理。从而可以加快图像处理速度,减少CPU的负载。

    可选地,在所述第一缓冲区写入所述第一图像数据之前,所述方法还包
    括:所述CPU向所述图像处理器发送第一指示信息,所述第一指示信息用
    于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述
    第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者
    所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像
    叠加后,所述第二图像位于所述第二图像显示区域;所述CPU向所述图像
    处理器发送第二指示信息,所述第二指示信息用于指示所述图像处理器将所
    述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述
    第二图像。

    本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了
    用户体验的满意度。

    可选地,在所述第二缓冲区写入所述第二图像数据之前,所述方法还包
    括:所述CPU向所述图像处理器发送第三指示信息,所述第三指示信息用
    于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用
    于显示所述第二图像,所述第二图层用于承载所述第二图像。从而可以根据
    用户界面图像的位置灵活设置网页图像的显示位置。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器
    的缓冲区。

    本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线
    上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。

    第二方面,提供了一种图像处理的方法,该方法包括:图像处理器从第
    一缓冲区中读取第一图像对应的第一图像数据;所述图像处理器从第二缓冲
    区读取第二图像对应的第二图像数据;所述图像处理器基于所述第一图像数
    据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其
    中,所述第一图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,
    所述第二图像数据是所述CPU写入所述第二缓冲区的图像数据。

    本发明实施例利用图像处理器对第一图像和第二图像进行叠加处理,从
    而减轻了CPU的负担,提高了图像处理设备的图像处理性能。

    可选地,从所述第一缓冲区读取所述第一图像数据前,所述方法还包括:
    所述图像处理器接收所述CPU发送的第一指示信息,所述第一指示信息用
    于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述
    第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者
    所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像
    叠加后,所述第二图像位于所述第二图像显示区域;所述图像处理器根据所
    述第一指示信息将所述第一图层设置为透明;所述图像处理器接收所述CPU
    发送的第二指示信息,所述第二指示信息用于指示所述图像处理器将所述第
    一图层的显示顺序设置于第二图层的上面,所述第二图层用于承载所述第二
    图像;所述图像处理器根据所述第二指示信息,将所述第一图层的显示顺序
    设置于所述第二图层的上面。

    本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了
    用户体验的满意度。

    可选地,从所述第二缓冲区读取所述第二图像数据前,所述方法还包括:
    所述图像处理器接收所述CPU发送的第三指示信息,所述第三指示信息用
    于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用
    于显示所述第二图像,所述第二图层用于承载所述第二图像;所述图像处理
    器根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。从而可
    以根据用户界面图像的位置灵活设置网页图像的显示位置。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器
    的缓冲区。

    本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线
    上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。

    第三方面,提供了一种图像处理的装置,该装置包括:输出模块,用于
    在第一缓冲区中写入第一图像对应的第一图像数据;在第二缓冲区中写入第
    二图像对应的第二图像数据,以便于图像处理器基于所述第一图像数据和所
    述第二图像数据,对所述第一图像和所述第二图像进行叠加处理。从而可以
    加快图像处理速度,减少CPU的负载。

    可选地,在所述第一缓冲区写入所述第一图像数据之前,所述输出模块
    还用于:向所述图像处理器发送第一指示信息,所述第一指示信息用于指示
    所述图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图
    像,其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第
    一图像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加
    后,所述第二图像位于所述第二图像显示区域;向所述图像处理器发送第二
    指示信息,所述第二指示信息用于指示所述图像处理器将所述第一图层的显
    示顺序设置于第二图层的上面,所述第二图层用于承载所述第二图像。

    本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了
    用户体验的满意度。

    可选地,在所述第二缓冲区写入所述第二图像数据之前,所述输出模块
    还用于:向所述图像处理器发送第三指示信息,所述第三指示信息用于指示
    所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示
    所述第二图像,所述第二图层用于承载所述第二图像。从而可以根据用户界
    面图像的位置灵活设置网页图像的显示位置。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器
    的缓冲区。

    本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线
    上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。

    第四方面,提供了一种图像处理的装置,该装置包括:输入模块,用于
    从第一缓冲区中读取第一图像对应的第一图像数据;从第二缓冲区读取第二
    图像对应的第二图像数据;处理模块,用于基于所述输入模块读取的所述第
    一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进行叠加
    处理,其中,所述第一图像数据是中央处理器CPU写入所述第一缓冲区的
    图像数据,所述第二图像数据是所述CPU写入所述第二缓冲区的图像数据。
    从而可以加快图像处理速度,减少CPU的负载。

    可选地,从所述第一缓冲区读取所述第一图像数据前,所述输入模块还
    用于:接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所
    述装置将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,
    所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括
    空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二
    图像位于所述第二图像显示区域;接收所述CPU发送的第二指示信息,所
    述第二指示信息用于指示所述装置将所述第一图层的显示顺序设置于第二
    图层的上面,所述第二图层用于承载所述第二图像;

    其中,所述处理模块还用于:根据所述第一指示信息将所述第一图层设
    置为透明;根据所述第二指示信息,将所述第一图层的显示顺序设置于所述
    第二图层的上面。

    本发明实施例中,用户可以直接在该第一图像上进行操作,从而提高了
    用户体验的满意度。

    可选地,从所述第二缓冲区读取所述第二图像数据前,所述输入模块还
    用于:接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所
    述装置在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二
    图像,所述第二图层用于承载所述第二图像;

    其中,所述处理模块还用于:根据所述第三指示信息,在所述第二图层
    设置所述屏幕显示区域。

    从而,可以根据用户界面图像的位置灵活设置网页图像的显示位置。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述装置的缓冲
    区。

    本发明实施中,CPU无需再从缓冲区读取图像数据,减少了数据在总线
    上的传输时间,从而提高了图像处理速度,并且减轻了CPU的负担。

    第五方面,提供了一种图像处理的系统,该系统包括:根据三方面中任
    一项所述的图像处理的装置;根据第四方面中任一项所述的图像处理的装
    置。

    第六方面,提供了一种计算机可读介质,用于存储计算机程序,该计算
    机程序包括用于执行第一方面或第二方面,或上述两个方面的任意可能的实
    现方式中的方法的指令。

    基于以上的技术方案,本发明实施例的图形处理的方法、装置、系统以
    及计算机可读介质,通过在第一缓冲区写入第一图像对应的第一图像数据,
    在第二缓冲区写入第二图像对应的第二图像数据,由图像处理器进行叠加处
    理,可以加快图像处理速度,减少CPU的负载,并且可以减少内存的使用。

    附图说明

    为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中
    所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本
    发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获
    得其他的附图。

    图1是本发明实施例提供的一种图像处理的方法的示意性流程图;

    图2是一种适用本发明实施例的图像处理的方法的设备的结构示意图;

    图3是本发明实施例提供的另一种图像处理的方法的示意性流程图;

    图4是本发明实施例提供的再一种图像处理的方法的示意性流程图;

    图5是本发明实施例提供的再一种图像处理的方法的示意性流程图;

    图6是本发明实施例提供的一种图像处理的装置的示意性框图;

    图7是本发明实施例提供的另一种图像处理的装置的示意性框图;

    图8是本发明实施例一种图像处理的系统的示意性结构框图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行
    清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是
    全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创
    造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    为了方便理解本发明实施例,首先在此介绍本发明实施例之前引入以下
    的几个要素。

    显示设备,例如显卡,显卡全称显示器配置卡(Video card/Graphics card),
    又称显示适配器(Video Adapter)。显卡的用途是将计算机系统需要显示的数
    据进行转换,并向显示器提供行扫描信号,控制显示器的正确显示。

    计算机系统中的数据一旦离开CPU(Central Processing Unit,中央处理
    器),需要经过四个步骤才能达到显示器(Monitor):

    1.从总线进入GPU(Graphics Processing Unit,图像处理器):将CPU
    传输过来的数据送到GPU进行处理;

    2.从显卡芯片组(Video Chipset)进入显存(Video Random-Access
    Memory,VRAM):将GPU处理完的数据送到显存;

    3.从显存进入数模转换器(Digital Analog Converter,DAC):将从显存
    取出的数据送入DAC中进行数据转换;

    4.从DAC进入显示器:将转换完的模拟信号送到显示器进行显示。

    显存,就是显示内存的意思,主要用于存储显示芯片已经处理和即将处
    理的数据。如果将显存所存储的数据细分的话,可以分为如下五个部分:帧
    缓冲(Frame buffer,FB)数据、后台缓冲(Back buffer)数据、Z轴缓冲(Z-buffer)
    数据、纹理数据和几何数据。其中,FB(可以看作一块内存区域)中存储数
    据的就是我们将要在显示器上看到的一帧图像的数据,后台缓冲数据指的就
    是当前画面的后一帧图像的数据,当屏幕上显示出当前FB中的内容时,下
    一帧的显示内容已经被存放在后台缓冲里了。

    目前,几乎所有的图像系统都基于光栅。一幅图像是由许多基本单元阵
    列组成,在图像系统中,图像的基本单元称为像素(pixel),而像素的阵列
    称为光栅(raster)。

    每个像素对应于图像中的某个位置或某个小区域。一幅图像的像素全部
    存放在FB里。在高端系统中,FB采用特殊类型的存储器芯片实现,一般是
    视频随机读写存储器(VRAM)或者动态随机读写存储器(Dynamic
    Random-Access Memory,DRAM),这些存储芯片会快速刷新FB里的内容。
    FB的深度,即每个像素的位数决定了某一个显示系统能显示的颜色数。例
    如,1位深度FB只能显示两种颜色,而8位深度FB可以显示28(=256)
    种颜色。在全色彩(full-color)系统里,深度为24位的图像系统可以显示足
    够多的颜色数,能表示大多数真实感图像,所以称之为真彩色(true-color)
    系统,或称RGB(Red Green Blue,红绿蓝)颜色系统,因为每个像素的3
    个颜色位组分别赋予红、绿、蓝三基色,大多数显示系统使用三基色。在一
    些比较简单的图像系统里,FB就是标准内存的一部分。FB可以看作是图像
    系统的核心部分。

    在基于linux的操作系统中,由于linux工作在保护模式下,所以用户态
    进程无法像DOS(Disk Operating System,磁盘操作系统)那样使用显卡BIOS
    (Basic Input Output System,基本输入输出系统)提供的中断调用来实现直
    接写屏,因此,linux抽象出FB这个缓冲区来供用户态进程实现直接写屏(实
    际上,FB是linux内核提供的一种驱动程序接口),FB模仿显卡的功能,将
    显卡硬件结构抽象掉,可以通过FB的读写直接对显存进行操作,用户可以
    将FB看成是显存的一个映像,将其映射到进程地址空间之后,就可以直接
    进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一
    的,用户不必关心物理显存的位置、换页机制等等具体细节。

    下面,以使用Skia图像库的Blink浏览器引擎为例,对本发明实施例提
    供的图像处理的方法和装置进行详细描述,应理解,上述图像库和浏览器引
    擎仅是举例说明,本发明实施例不限于此,浏览器引擎还可以是其它浏览器
    引擎,并且可以对接不同的本地图像库和浏览器图像库。

    图1示出了根据本发明实施例的图像处理的方法100的示意性流程图。
    本发明实施例提供的图像处理方法可以应用于计算机系统中,该计算机系统
    可以位于一台物理主机上,也可以分布位于多台物理主机上。具体地,该计
    算机系统可以位于一台或多台计算机、便携式电脑、手持设备(例如手机,
    PAD等)、服务器、机顶盒或者智能电视等类型的终端设备上。

    终端设备中可以安装应用软件,例如浏览器。终端设备可以通过应用软
    件或者硬件对待显示的网页进行图像处理,本发明实施例中的网页中包含的
    内容包括但不限于文字内容、图片内容和视频内容等。

    以图2为例介绍本发明实施例提供的图像处理方法应用的计算节点的逻
    辑结构。该计算节点可以是终端设备,该终端设备具体可以为一智能电视。
    如图1所示,该终端设备的硬件层包括CPU、GPU等,当然还可以包括存
    储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键
    盘、鼠标、触摸屏等,输出设备可包括显示设备如LCD(Liquid Crystal Display,
    液晶显示器)、CRT(Cathode Ray Tube,阴极射线管)显示器、全息成像
    (Holographic)、投影(Projector)等。在硬件层之上可运行有操作系统(如
    Android等)以及一些应用程序。核心库(Kernel Library)是操作系统的核
    心部分,包括输入/输出服务(I/O Service)、核心服务(Kernel Service)、图像
    设备接口以及实现CPU、GPU图像处理的图像引擎(Graphics Engine)等。
    图像引擎可包括2D引擎、3D引擎、合成器(Composition)、帧缓冲区(Frame
    Buffer)、EGL(Enterprise Generation Language)等。除此之外,该终端还包
    括驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控
    制器驱动等。框架层可包括图像服务(Graphic Service)、系统服务(System
    service)、网页服务(Web Service)和用户服务(Customer Service)等;图
    像服务中,可包括如微件(Widget)、画布(Canvas)、视图(Views)、Render
    Script等。应用层可包括桌面(launcher)、媒体播放器(Media Player)、浏
    览器(Browser)等。

    回到图1,如图1所示,方法100包括:

    S110,中央处理器CPU在第一缓冲区中写入第一图像对应的第一图像
    数据;

    S120,所述CPU在第二缓冲区中写入第二图像对应的第二图像数据,
    以便于图像处理器基于所述第一图像数据和所述第二图像数据,对所述第一
    图像和所述第二图像进行叠加处理。

    方法100中,例如,浏览器在绘制图像时,除了要绘制来自互联网的网
    页图像(相当于第二图像),还需要绘制供用户操作的用户界面图像(相当
    于第一图像),例如包括地址栏、按钮和菜单的对话框,由于用户界面图像
    通常是固定格式的,因此浏览器可以利用本地图像库绘制用户界面图像,无
    需在skia图像库(浏览器引擎图像库)中绘制用户界面图像,从而减少了
    CPU的负担,提高了图像绘制的速度。

    对于嵌入式设备,例如机顶盒、智能电视,其显示内容的位置都是固定
    的,因此,采用本地图像与网页图像叠加显示的方法,利用本地图像库绘制
    用户界面图像,利用浏览器图像库绘制网页图像,既可以提高图像绘制的速
    度,又可以充分利用CPU的性能。

    本发明实施例中,用户界面图像可以位于网页图像的上面,也可以位于
    网页图像的下面。当用户界面图像位于网页图像的上面时,可以利用鼠标点
    击等直接触控方式对用户界面图像进行操作;当用户界面图像位于网页图像
    的下面时,可以利用遥控器等非直接触控方式对用户界面进行操作。

    本发明实施例中,可以直接在第二帧缓冲区中写入网页图像数据,其中,
    该第二帧缓冲区对应的图层的大小与用户界面图像所包括的网页显示区域
    大小相匹配,无需在第二帧缓冲区对应的图层中设置屏幕显示区域就可以显
    示网页图像,从而减轻了CPU的负担。

    所述图像处理器包括GPU、专业渲染芯片或者第二CPU。

    上述实施例仅是举例说明,本发明实施例不限于此,例如第一图像和第
    二图像还可以是其它图像,网页内容和本地内容混合显示的应用程序在绘制
    图像时也适用方法100。

    可选地,在所述第一缓冲区写入所述第一图像数据之前,方法100还包
    括:

    S130,所述CPU向所述图像处理器发送第一指示信息,所述第一指示
    信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用于承
    载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示区域,
    或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所述第二
    图像叠加后,所述第二图像位于所述第二图像显示区域;

    S140,所述CPU向所述图像处理器发送第二指示信息,所述第二指示
    信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二图层
    的上面,所述第二图层用于承载所述第二图像。

    在本发明实施例中,CPU可以通过浏览器引擎将第二图层的显示顺序设
    置在第一图层的下面,这样,可以使用户界面图像位于在最上面的图层,用
    户可以直接在该用户界面图像上进行操作,从而提高了用户体验的满意度,
    上述实施例仅是举例说明,本发明实施例不限于此。

    可选地,在所述第二缓冲区写入所述第二图像数据之前,方法100还包
    括:

    S150,所述CPU向所述图像处理器发送第三指示信息,所述第三指示
    信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕显示
    区域用于显示所述第二图像,所述第二图层用于承载所述第二图像。

    例如,CPU通过UI线程创建了用户界面图像,根据用户界面图像中的
    网页图像显示区域,通知浏览器引擎该网页图像显示区域的位置,浏览器引
    擎根据该网页图像显示区域的位置在第二帧缓冲区设置屏幕显示区域,在该
    屏幕显示区域显示第一网页图像,从而可以根据用户界面图像的位置灵活设
    置网页图像的显示位置。上述实施例仅是举例说明,本发明实施例不限于此。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器
    的缓冲区。

    第一缓冲区和第二缓冲区可以是虚拟的地址,例如帧缓冲区,CPU通过
    UI线程可以在第一帧缓冲区中写入用户界面图像数据,通过浏览器引擎在
    第二帧缓冲区中写入网页图像数据,充分利用显存进行图像处理,在保证
    UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲区即可完成图像
    处理,从而减少了内存的使用量,提高了嵌入式设备的处理能力,此外,CPU
    无需对图像数据进行处理,而是通过图像处理器对图像数据进行处理,避免
    了现有技术中CPU需要从共享缓存区中读取网页图像数据的步骤,减少了
    数据在总线上的传输时间,从而提高了图像处理速度,并且减轻了CPU的
    负担。

    此外,第一缓冲区和第二缓冲区还可以是连续的物理地址,例如显存的
    物理地址,图像处理器可以通过连续的物理地址读取第一图像数据和第二图
    像数据,图像处理器可以调用DirectFB(Direct Framebuffer)图像库来绘制
    第一图像和第二图像,并对其进行叠加处理,无需CPU对图像数据进行处
    理,从而减轻了CPU的负担。上述实施例仅是举例说明,本发明实施例不
    限于此。

    可选地,方法100中,CPU在绘制所述第二图像时,可以通过GPU加
    速绘制所述第二图像,例如GPU可以通过OpenGL ES(Open Graphics Library
    for Embedded Systems,嵌入式系统开源图像库)接口调用skia图像库绘制
    网页图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用
    GPU高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说
    明,本发明实施例不限于此。

    可选地,在所述第一缓冲区写入所述第一图像数据,包括:

    S111,接收用户事件信息;

    S112,根据所述用户事件信息将所述第一图像数据写入所述第一缓冲
    区。

    本发明实施例中,UI线程可以根据用户事件(例如,打开新窗口)绘
    制用户界面图像,并将用户界面图像数据写入第一帧缓冲区。上述实施例仅
    是举例说明,本发明实施例不限于此。

    可选地,在所述第一缓冲区写入所述第二图像数据,包括:

    S121,接收第二图像的刷新通知;

    S122,根据所述刷新通知将所述第二图像数据写入所述第二缓冲区。

    本发明实施例中,浏览器引擎可以根据网页图像的刷新通知绘制网页图
    像,并写入第二缓冲区,与用户界面图像进行叠加处理后输出,无需等待用
    户界面图像的刷新,从而可以提高图像处理的速度。上述实施例仅是举例说
    明,本发明实施例不限于此,例如,还可以通过GPU绘制刷新后的网页图
    像。

    上文结合图1,从CPU的角度描述了本发明实施例的图像处理的方法,
    下面结合图3,从图像处理器的角度详细描述根据本发明实施例的图像处理
    的方法。

    图3示出了根据本发明实施例的图像处理的方法300的示意性流程图,
    本发明实施例的技术方案,例如可以由GPU执行。如图3所示,方法300
    包括:

    S310,图像处理器从第一缓冲区中读取第一图像对应的第一图像数据;

    S320,所述图像处理器从第二缓冲区读取第二图像对应的第二图像数
    据;

    S330,所述图像处理器基于所述第一图像数据和所述第二图像数据,对
    所述第一图像和所述第二图像进行叠加处理,其中,所述第一图像数据是中
    央处理器CPU写入所述第一缓冲区的图像数据,所述第二图像数据是所述
    CPU写入所述第二缓冲区的图像数据。

    在嵌入式设备中需要实现多种图像功能,包括图像绘制以及图像拷贝
    等。其中的许多功能需要进行大量的数据传递(如图像拷贝)或者需要进行
    大量的数值计算(如画样条曲线)。如果这些功能都由软件来实现的话,会
    占用大量的CPU时间且需要传递大量的数据,从而影响了图像性能。许多
    显示芯片都带有图像处理器,能够从硬件上实现一部分图像功能。支持硬件
    加速的图像库就可以通过图像处理器来实现这些功能,从而减轻了CPU的
    负担,并减少了数据在总线上的传输时间,提高了图像处理设备的图像处理
    性能。

    方法300中,第一缓冲区和第二缓冲区可以是虚拟的缓冲地址,例如帧
    缓冲区,GPU可以通过第一帧缓冲区接收第一图像数据(例如用户界面图像
    数据),通过第二帧缓冲区接收第二图像数据(例如网页图像数据),并对第
    一图像数据和第二图像数据进行处理,以便于在显示屏上显示出叠加后的第
    一图像和第二图像,从而可以利用GPU的高速图像处理能力处理图像,提
    高了嵌入式设备的图像处理能力。

    此外,第一缓冲区和第二缓冲区还可以是连续的物理地址,例如显存的
    物理地址,GPU可以通过连续的物理地址来接收第一图像数据和第二图像数
    据,GPU可以调用DirectFB(Direct Framebuffer)图像库来绘制第一图像和
    第二图像,并对其进行叠加处理。上述实施例仅是举例说明,本发明实施例
    不限于此,例如,方法300还可以由专业的渲染芯片实施。

    可选地,从所述第一缓冲区读取所述第一图像数据前,方法300还包括:

    S340,所述图像处理器接收所述CPU发送的第一指示信息,所述第一
    指示信息用于指示所述图像处理器将第一图层设置为透明,所述第一图层用
    于承载所述第一图像,其中,所述第一图像包括填充透明色的第二图像显示
    区域,或者所述第一图像包括空白的第二图像显示区域,所述第一图像和所
    述第二图像叠加后,所述第二图像位于所述第二图像显示区域;

    S350,所述图像处理器根据所述第一指示信息将所述第一图层设置为透
    明;

    S360,所述图像处理器接收所述CPU发送的第二指示信息,所述第二
    指示信息用于指示所述图像处理器将所述第一图层的显示顺序设置于第二
    图层的上面,所述第二图层用于承载所述第二图像;

    S370,所述图像处理器根据所述第二指示信息,将所述第一图层的显示
    顺序设置于所述第二图层的上面。

    在本发明实施例中,第二图层的显示顺序设置在第一图层的下面,这样,
    可以使用户界面图像位于在最上面的图层,用户可以直接在该用户界面图像
    上进行操作,从而提高了用户体验的满意度,上述实施例仅是举例说明,本
    发明实施例不限于此。

    可选地,从所述第二缓冲区读取所述第二图像数据前,所述方法还包括:

    S380,所述图像处理器接收所述CPU发送的第三指示信息,所述第三
    指示信息用于指示所述图像处理器在第二图层设置屏幕显示区域,所述屏幕
    显示区域用于显示所述第二图像,所述第二图层用于承载所述第二图像;

    S390,所述图像处理器根据所述第三指示信息,在所述第二图层设置所
    述屏幕显示区域。

    本发明实施例可以根据用户界面图像的位置灵活设置网页图像的显示
    位置。上述实施例仅是举例说明,本发明实施例不限于此。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器
    的缓冲区。

    从而,在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓
    冲区即可完成图像处理,从而减少了内存的使用量,提高了嵌入式设备的处
    理能力,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像
    数据进行处理,避免了现有技术中CPU需要从共享缓存区中读取网页图像
    数据的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,
    并且减轻了CPU的负担。

    可选地,方法300还包括:GPU通过OpenGL ES接口调用skia图像库
    绘制网页图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利
    用GPU高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举
    例说明,本发明实施例不限于此。

    因此,本发明实施例通过图像处理器对第一图像数据和第二图像数据进
    行叠加处理,无需CPU从帧缓冲区中读取图像数据,从而减少了内存使用
    量,减轻了CPU的负担,并且可以同时对第一图像数据和第二图像数据进
    行刷新处理,提高浏览器的图像处理速度,从而提高了用户体验满意度。

    图4是根据本发明一实施例的图像处理的方法的示意性流程图,如图4
    所示,本实施例的方法包括:

    S401,浏览器的UI线程初始化,在本地图像库中创建用户界面图像
    surface(界面);

    S402,UI线程将第一帧缓冲区的Alpha值设置为透明,从而使得第一
    帧缓冲区的图层为透明图层;

    S403,UI线程初始化浏览器引擎,并指定网页图像显示区域;

    S404,浏览器引擎在skia图像库中创建网页图像surface;

    S405,浏览器引擎设置第二帧缓冲区对应的图层中的屏幕显示区域;

    S406,浏览器引擎设置第二帧缓冲区对应的图层的显示顺序,使其位于
    第一帧缓冲区对应的图层的下面;

    S407,浏览器引擎解析htlm(Hyper Text Markup Language,超文本标记
    语言)标签;

    S408,浏览器引擎根据解析htlm标签的结果,调用skia图像库绘制网
    页图像(即,对网页图像surface进行渲染);

    S409,浏览器引擎将网页图像的渲染结果(即,网页图像数据)写入第
    二帧缓冲区;

    S410,UI线程轮询用户事件;

    S411,如果没有用户事件的发生,则UI线程绘制用户界面图像;如果
    有用户事件的发生,则UI线程根据用户事件绘制用户界面图像,其中,用
    户界面图像中的网页图像显示区域填充透明色,或者直接绘制包括空白网页
    图像显示区域的用户界面图像;

    S412,UI线程将用户界面图像的绘制结果(即,用户界面图像数据)
    写入第一帧缓冲区。

    本发明实施例中,UI线程无需等待网页图像的刷新,直接将用户界面
    图像数据写入第一帧缓冲区,减少了内存使用量,提高了浏览器的图像处理
    速度,并且,UI线程无需再对图像数据进行叠加处理,减轻了CPU的负担,
    从而提高了用户体验的满意度。上述实施例仅是举例说明,本发明实施例不
    限于此,例如,绘制用户界面图像的相关步骤可以在绘制网页图像的相关步
    骤的前面。

    图5是根据本发明一实施例的图像处理的方法的示意性流程图,如图5
    所示,本实施例的方法包括:

    S501,浏览器的UI线程初始化,在本地图像库中创建用户界面图像
    surface(界面);

    S502,UI线程将第一帧缓冲区的Alpha值设置为透明,从而使得第一
    帧缓冲区的图层为透明图层;

    S503,UI线程初始化浏览器引擎,并指定网页图像显示区域;

    S504,浏览器引擎在skia图像库中创建网页图像surface;

    S505,浏览器引擎设置第二帧缓冲区对应的图层中的屏幕显示区域;

    S506,浏览器引擎设置第二帧缓冲区对应的图层的显示顺序,使其位于
    第一帧缓冲区对应的图层的下面;

    S507,浏览器引擎初始化GPU(即,向GPU发送指示信息,指示GPU
    处理网页图像数据);

    S508,浏览器引擎解析htlm标签;

    S509,浏览器引擎根据解析htlm标签的结果,调用skia图像库绘制网
    页图像(即,对网页图像surface进行渲染);

    S510,浏览器引擎使用GPU加速绘制网页图像;

    S511,网页图像绘制完成后,浏览器引擎通知GPU输出;

    S512,GPU将网页渲染结果(即,网页图像数据)写入第二帧缓冲区;

    S513,UI线程轮询用户事件;

    S514,如果没有用户事件的发生,则UI线程绘制用户界面图像;如果
    有用户事件的发生,则UI线程根据用户事件绘制用户界面图像,其中,用
    户界面图像中的网页图像显示区域填充透明色,或者直接绘制包括空白网页
    图像显示区域的用户界面图像;

    S515,UI线程将用户界面图像的绘制结果(即,用户界面图像数据)
    写入第一帧缓冲区。

    本发明实施例中,UI线程无需等待网页图像的刷新,直接将用户界面
    图像数据写入第一帧缓冲区,减少了内存使用量,提高了浏览器的图像处理
    速度,并且,UI线程无需再对图像数据进行叠加处理,减轻了CPU的负担,
    从而提高了用户体验的满意度。上述实施例仅是举例说明,本发明实施例不
    限于此,例如,绘制用户界面图像的相关步骤可以在绘制网页图像的相关步
    骤的前面。

    图6示出了根据本发明实施例的用于图像处理的装置600的示意性框
    图,如图6所示,装置600包括:

    输出模块610,用于在第一缓冲区中写入第一图像对应的第一图像数据;
    在第二缓冲区中写入第二图像对应的第二图像数据,以便于图像处理器基于
    所述第一图像数据和所述第二图像数据,对所述第一图像和所述第二图像进
    行叠加处理。

    本发明实施例通过直接在第一缓冲区写入第一图像数据,在第二缓冲区
    写入第二图像数据,在对图像数据进行叠加处理时无需再从帧缓冲区中读取
    图像数据,可以由图像处理器进行叠加处理,从而减少了内存使用量,减轻
    了CPU的负担,并且可以同时对第一图像数据和第二图像数据进行刷新处
    理,提高浏览器的图像处理速度,从而提高了用户体验满意度。

    可选地,在所述第一缓冲区写入所述第一图像数据之前,所述输出模块
    610用于:

    向所述图像处理器发送第一指示信息,所述第一指示信息用于指示所述
    图像处理器将第一图层设置为透明,所述第一图层用于承载所述第一图像,
    其中,所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图
    像包括空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所
    述第二图像位于所述第二图像显示区域;

    向所述图像处理器发送第二指示信息,所述第二指示信息用于指示所述
    图像处理器将所述第一图层的显示顺序设置于第二图层的上面,所述第二图
    层用于承载所述第二图像。

    这样,可以使用户界面图像位于在最上面的图层,用户可以直接在该用
    户界面图像上进行操作,从而提高了用户体验的满意度,上述实施例仅是举
    例说明,本发明实施例不限于此。

    可选地,在所述第二缓冲区写入所述第二图像数据之前,所述输出模块
    610还用于:

    向所述图像处理器发送第三指示信息,所述第三指示信息用于指示所述
    图像处理器在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述
    第二图像,所述第二图层用于承载所述第二图像。

    例如,装置600的处理模块620通过UI线程创建了用户界面图像,根
    据用户界面图像中的网页图像显示区域,通知浏览器引擎该网页图像显示区
    域的位置,浏览器引擎根据该网页图像显示区域的位置在第二帧缓冲区设置
    屏幕显示区域,在该屏幕显示区域显示第一网页图像,从而可以根据用户界
    面图像的位置灵活设置网页图像的显示位置。上述实施例仅是举例说明,本
    发明实施例不限于此。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述图像处理器
    的缓冲区。

    从而,避免了现有技术中CPU需要从共享缓存区中读取网页图像数据
    的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,并且
    减轻了CPU的负担。

    可选地,装置600在绘制所述第二图像时,可以通过GPU加速绘制所
    述第二图像,例如GPU可以通过OpenGL ES接口调用skia图像库绘制网页
    图像,绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用GPU
    高效的图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说明,
    本发明实施例不限于此。

    可选地,装置600可以根据用户事件(例如,打开新窗口)绘制用户界
    面图像,并将用户界面图像数据写入第一帧缓冲区。上述实施例仅是举例说
    明,本发明实施例不限于此。

    可选地,装置600可以根据网页图像的刷新通知绘制网页图像,并写入
    第二缓冲区,与用户界面图像进行叠加处理后输出,无需等待用户界面图像
    的刷新,从而可以提高图像处理的速度。上述实施例仅是举例说明,本发明
    实施例不限于此,例如,还可以通过GPU绘制刷新后的网页图像。

    应理解,根据本发明实施例的用于图像处理的装置600可对应于本发明
    实施例中图像处理的方法100的实施主体,并且装置600中的各个模块的上
    述和其它操作和/或功能分别用于实现方法100的各个步骤的相应流程,为了
    简洁,在此不再赘述。

    图7示出了根据本发明实施例的用于图像处理的装置700的示意性框
    图,如图7所示,装置700包括:

    输入模块710,用于从第一缓冲区中读取第一图像对应的第一图像数据;
    从第二缓冲区读取第二图像对应的第二图像数据;

    处理模块720,用于基于所述输入模块读取的所述第一图像数据和所述
    第二图像数据,对所述第一图像和所述第二图像进行叠加处理,其中,所述
    第一图像数据是中央处理器CPU写入所述第一缓冲区的图像数据,所述第
    二图像数据是所述CPU写入所述第二缓冲区的图像数据。

    本发明实施例通过装置700对第一图像数据和第二图像数据进行处理,
    无需CPU从帧缓冲区中读取图像数据,从而减少了内存使用量,减轻了CPU
    的负担,并且可以同时对第一图像数据和第二图像数据进行刷新处理,提高
    浏览器的图像处理速度,从而提高了用户体验满意度。

    可选地,从所述第一缓冲区读取所述第一图像数据前,所述输入模块710
    还用于:

    接收所述CPU发送的第一指示信息,所述第一指示信息用于指示所述
    装置将第一图层设置为透明,所述第一图层用于承载所述第一图像,其中,
    所述第一图像包括填充透明色的第二图像显示区域,或者所述第一图像包括
    空白的第二图像显示区域,所述第一图像和所述第二图像叠加后,所述第二
    图像位于所述第二图像显示区域;

    接收所述CPU发送的第二指示信息,所述第二指示信息用于指示所述
    装置将所述第一图层的显示顺序设置于第二图层的上面,所述第二图层用于
    承载所述第二图像;

    其中,所述处理模块720还用于:

    根据所述第一指示信息将所述第一图层设置为透明;

    根据所述第二指示信息,将所述第一图层的显示顺序设置于所述第二图
    层的上面。

    在本发明实施例中,第二图层的显示顺序设置在第一图层的下面,这样,
    可以使用户界面图像位于在最上面的图层,用户可以直接在该用户界面图像
    上进行操作,从而提高了用户体验的满意度,上述实施例仅是举例说明,本
    发明实施例不限于此。

    可选地,从所述第二缓冲区读取所述第二图像数据前,所述输入模块710
    还用于:

    接收所述CPU发送的第三指示信息,所述第三指示信息用于指示所述
    装置在第二图层设置屏幕显示区域,所述屏幕显示区域用于显示所述第二图
    像,所述第二图层用于承载所述第二图像;

    其中,所述处理模块720还用于:

    根据所述第三指示信息,在所述第二图层设置所述屏幕显示区域。

    本发明实施例可以根据用户界面图像的位置灵活设置网页图像的显示
    位置。上述实施例仅是举例说明,本发明实施例不限于此。

    可选地,所述第一缓冲区包括第一帧缓冲区,所述第二缓冲区包括第二
    帧缓冲区,其中,所述第一帧缓冲区和所述第二帧缓冲区是所述装置的缓冲
    区。

    从而在保证UI线程和浏览器引擎相互独立刷新的同时,只需两个缓冲
    区即可完成图像处理,从而减少了内存的使用量,提高了嵌入式设备的处理
    能力,此外,CPU无需对图像数据进行处理,而是通过图像处理器对图像数
    据进行处理,避免了现有技术中CPU需要从共享缓存区中读取网页图像数
    据的步骤,减少了数据在总线上的传输时间,从而提高了图像处理速度,并
    且减轻了CPU的负担。

    可选地,装置700通过OpenGL ES接口调用skia图像库绘制网页图像,
    绘制完成后将网页图像数据写入第二帧缓冲区,从而可以利用GPU高效的
    图像处理能力提高网页图像的绘制速度。上述实施例仅是举例说明,本发明
    实施例不限于此。

    应理解,根据本发明实施例的用于图像处理的装置700可对应于本发明
    实施例中图像处理的方法300的实施主体,并且装置700中的各个模块的上
    述和其它操作和/或功能分别用于实现方法300的各个步骤的相应流程,为了
    简洁,在此不再赘述。

    如图8所示,本发明实施例还提供了一种用于图像处理的系统800。系
    统800包括输入设备801、处理器802、图像处理器803、存储器804、总线
    系统805、显示器806。

    存储器804可以包括只读存储器和随机存取存储器,并向处理器802和
    图像处理器803提供指令和数据。存储器804存储了如下的元素,可执行模
    块或者数据结构,或者它们的子集,或者它们的扩展集:

    应用程序:包括各种应用程序,例如图2所示的桌面(launcher)、媒体
    播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。

    操作系统:包括各种系统程序,,例如图2所示的框架层、核心库层、
    驱动层等,用于实现各种基础业务以及处理基于硬件的任务。

    在本发明实施例中,处理器802通过调用存储器804存储的操作指令(该
    操作指令可存储在操作系统中),执行方法100和方法300中的任一个步骤。

    本发明实施例中,处理器802可以在第一帧缓冲区中写入第一图像数据,
    在第二帧缓冲区中写入第二图像数据,在保证第一图像和第二图像相互独立
    刷新的同时,只需两个缓冲区即可完成图像处理,从而减少了内存的使用量,
    提高了嵌入式设备的处理能力,此外,处理器802无需对图像数据进行处理,
    而是通过图像处理器803对图像数据进行处理,减少了数据在总线上的传输
    时间,从而提高了图像处理速度,并且减轻了处理器802的负担。上述实施
    例仅是举例说明,本发明实施例不限于此。

    系统800还可包括I/O通道等。处理器802控制系统800的操作,图像
    处理器803可以是GPU、专业渲染芯片或者CPU。输入设备801,可包括鼠
    标、键盘、触摸屏等,显示器806可包括LCD、CRT、全息成像(Holographic)、
    投影(Projector)等。在实际应用中,显示器806和输入设备801也可以合
    在一起,例如触摸屏。处理器802和图像处理器803可以是不同的芯片,也
    可集中到一个芯片上。

    处理器802控制设备800的操作,处理器802还可以称为CPU。存储器
    804可以包括只读存储器和随机存取存储器,并向处理器802提供指令和数
    据。存储器804的一部分还可以包括非易失性随机存取存储器(NVRAM)。
    具体的应用中,系统800的各个组件通过总线系统805耦合在一起,其中总
    线系统805除包括数据总线之外,还可以包括电源总线、控制总线和状态信
    号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统805。
    为便于表示,图8中仅用一条粗线表示,但并不表示总线系统805仅有一根
    总线或一种类型的总线。

    上述本发明实施例揭示的方法可以应用于处理器802和图像处理器803
    中,或者由处理器802和图像处理器803实现。处理器802和图像处理器803
    可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法
    的各步骤可以通过处理器802和图像处理器803中的硬件的集成逻辑电路或
    者软件像式的指令完成。上述的处理器802和图像处理器803可以是通用处
    理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列
    (FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬
    件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框
    图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
    等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器
    执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块
    可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写
    可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器
    804,处理器802和图像处理器803读取存储器804中的信息,结合其硬件
    完成上述方法的步骤。为避免重复,这里不再详细描述。

    应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执
    行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本
    发明实施例的实施过程构成任何限定。

    另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表
    示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在
    A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关
    联对象是一种“或”的关系。

    应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根
    据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定
    B,还可以根据A和/或其它信息确定B。

    本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各
    示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实
    现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一
    般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执
    行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个
    特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超
    出本发明的范围。

    所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述
    描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对
    应过程,在此不再赘述。

    在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和
    方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示
    意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可
    以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个
    系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的
    耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或
    通信连接,也可以是电的,机械的或其它的像式连接。

    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作
    为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,
    或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或
    者全部单元来实现本发明实施例方案的目的。

    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元
    中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在
    一个单元中。上述集成的单元既可以采用硬件的像式实现,也可以采用软件
    功能单元的像式实现。

    所述集成的单元如果以软件功能单元的像式实现并作为独立的产品销
    售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,
    本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方
    案的全部或部分可以以软件产品的像式体现出来,该计算机软件产品存储在
    一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算
    机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部
    分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,
    Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、
    磁碟或者光盘等各种可以存储程序代码的介质。

    以上某一实施例中的技术特征和描述,为了使申请文件简洁清楚,可以
    理解适用于其他实施例,在其他实施例不再一一赘述。

    以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限
    于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易
    想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围
    之内。因此,本发明的保护范围应以权利要求的保护范围为准。

    关 键  词:
    图像 处理 方法 装置 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:图像处理的方法、装置和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6200698.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1