买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】分布式协同渲染方法及终端_努比亚技术有限公司_201610931329.9 

申请/专利权人:努比亚技术有限公司

申请日:2016-10-31

公开(公告)日:2020-02-11

公开(公告)号:CN106534667B

主分类号:H04N5/232(20060101)

分类号:H04N5/232(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.02.11#授权;2017.04.19#实质审查的生效;2017.03.22#公开

摘要:本发明公开了一种分布式协同渲染方法及终端,在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分,然后将获取的第一待渲染图像和第二待渲染图像分别发送给终端的图像处理器和中央处理器进行渲染处理;也即通过图像处理器和中央处理器对图像帧的渲染进行协同处理,最后将图像处理器和中央处理器渲染后的图像按照与预设划分规则对应的组合规则组合后进行显示。也即本发明将相机图像帧的渲染工作由图像处理器和中央处理器协同处理,实现分布式协同处理,保证渲染后的图像帧能及时在相机取景框进行显示,避免相机无响应甚至卡顿,提升用户体验的满意度。

主权项:1.一种分布式协同渲染方法,其特征在于,包括:在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为两部分,所述两部分分别为第一待渲染图像和第二待渲染图像;将所述第一待渲染图像和所述第二待渲染图像分别发送给终端的图像处理器和中央处理器进行渲染处理;将所述图像处理器和所述中央处理器渲染后的图像按照与所述预设划分规则对应的组合规则组合后进行显示;进入所述分布渲染模式之前,还包括:判断所述中央处理器在独立渲染模式下,对所述相机的图像帧进行渲染过程中是否丢帧,如是,转至所述分布式协同渲染模式;判断所述中央处理器对所述相机的图像帧进行渲染过程中是否丢帧包括:判断所述中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号发送时间间隔,如是,判断出现丢帧。

全文数据:分布式协同渲染方法及终端技术领域[0001] 本发明涉及图像处理领域,更具体地说,涉及一种分布式协同渲染方法及终端。背景技术[0002] 在移动互联网时代,随着智能终端的推广和普及,用户不断追求高品质的视觉体验。例如为了抓拍更真实的画面,用户一般会将相机图像的分辨率设置为最高,同时在使用相机拍照或摄像时,为了获取最优质、最合心意的照片或视频,往往会在不同焦距、不同背景、不同分辨率下快速切换。而目前相机的图像都是由终端系统的中央处理器CPU,CentralProcessingUnit独立处理完成的,而由于CPU的清染性能有限,会导致系统的CPU无法及时渲染图像,进而导致相机取景框画面显示滞后,甚至导致相机无响应,界面操作不流畅。例如假设智能终端屏幕的刷新频率是60Hz,因此如果在100060=16.67ms内,CPU没有及时的将待渲染处理的图像帧渲染完毕,就会发生丢帧的现象,丢帧越多,用户感受到的卡顿情况就越严重,导致相机取景框画面显示滞后,甚至导致相机无响应,界面操作不流畅。发明内容[0003] 本发明要解决的技术问题在于,现有终端由CPU对相机的图像帧进行渲染,受CPU渲染性能限制导致相机取景框画面显示滞后,相机无响应,操作不流畅。针对该技术问题,提供一种分布式协同清染方法及终端。[0004] 为解决上述技术问题,本发明提供一种分布式协同渲染方法,包括:[0005] 在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分;[0006] 将所述第一待渲染图像和所述第二待渲染图像分别发送给终端的图像处理器和中央处理器进行渲染处理;[0007] 将所述图像处理器和所述中央处理器渲染后的图像按照与所述预设划分规则对应的组合规则组合后进行显示。[0008] 进一步地,所述预设划分规则包括:[0009]当所述相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分别作为第一待渲染图像和第二待渲染图像;[0010]当所述相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;所述M取大于等于I的整数值,所述N取大于所述M的整数值。[0011] 进一步地,当所述相机当前处于拍照模式时,将当前待进行渲染处理的图像帧划分为两部分为:将所述图像帧划分为上、下两部分,或左、右两部分。[0012] 进一步地,进入所述分布渲染模式之前,还包括:[0013] 判断所述中央处理器在独立渲染模式下,对所述相机的图像帧进行渲染过程中是否丢帧,如是,转至所述分布式协同渲染模式。[0014] 进一步地,判断所述中央处理器对所述相机的图像帧进行渲染过程中是否丢帧包括:[0015] 判断所述中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号发送时间间隔,如是,判断出现丢帧。[0016] 为解决上述技术问题,本发明还提供一种终端,包括:[0017]图像划分模块,用于在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分;[0018]图像传输模块,用于分别将所述第一待渲染图像和所述第二待渲染图像发送给终端的图像处理器和中央处理器进行渲染处理;[0019]显示合成模块,用于将所述图像处理器和所述中央处理器渲染后的图像按照与所述预设划分规则对应的组合规则组合后进行显示。[0020] 进一步地,所述预设划分规则包括:[0021]当所述相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分别作为第一待渲染图像和第二待渲染图像;[0022]当所述相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;所述M取大于等于I的整数值,所述N取大于所述M的整数值。[0023] 进一步地,所述图像划分模块用于在当所述相机当前处于拍照模式时,将所述图像帧划分为上、下两部分,或左、右两部分。[0024] 进一步地,还包括模式控制模块,用于判断由所述中央处理器在独立渲染模式下对所述相机的图像帧进行渲染过程中丢帧时,控制所述终端进入所述分布式协同渲染模式。[0025] 进一步地,所述模式控制模块用于判断所述中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号发送时间间隔,如是,判断出现丢帧。[0026] 有益效果[0027] 本发明提供的分布式协同渲染方法及终端,在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分,然后将获取的第一待渲染图像和第二待渲染图像分别发送给终端的图像处理器和中央处理器进行渲染处理;也即通过图像处理器和中央处理器对图像帧的渲染进行协同处理,最后将图像处理器和中央处理器渲染后的图像按照与预设划分规则对应的组合规则组合后进行显示。也即本发明将相机图像帧的渲染工作由图像处理器和中央处理器协同处理,实现分布式协同处理,保证渲染后的图像帧能及时在相机取景框进行显示,避免相机无响应甚至卡顿,提升用户体验的满意度。附图说明[0028]下面将结合附图及实施例对本发明作进一步说明,附图中:[0029]图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图;[0030]图2为实现本发明各个实施例一个可选的相机电气结构示意图;[0031]图3本发明第一实施例提供的分布式协同渲染方法流程示意图;[0032]图4本发明第二实施例提供的分布式协同渲染方法流程示意图;[0033]图5本发明第三实施例提供的第一种终端结构示意图;[0034]图6本发明第三实施例提供的第二种终端结构示意图;[0035]图7本发明第三实施例提供的第三种终端结构示意图;[0036]图8本发明第四实施例提供的第三种终端结构示意图。具体实施方式[0037] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0038] 现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。[0039] 本发明的视频录制装置在进行视频录制之前先生成数据缓存队列,然后进行视频录制获得视频录制数据后,将获得的数据存入数据缓存队列;在存入过程中,当数据缓存队列存满时,删除当前该数据缓存队列中最先存入的视频录制数据后,再将最新获取的视频录制数据依次存入,这样数据缓存队列就仅存储最新录制时间段内的视频数据。在结束录制后,从该数据缓存队列中提取视频录制数据生成视频文件,生成的视频文件就仅包含录制结束前用户最感兴趣的一段时间视频数据,不仅大大减少了存储占用的空间,提升资源利用率;更提升了视频录制功能的智能性,进而提升用户体验满意度。[0040] 本发明中的视频录制装置可内置于各种具有视频录制功能的终端,这些终端既包含具有视频录制功能的移动终端,也包含具有视频录制功能的非固定类终端。下面仅以移动终端进行示例说明。移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA个人数字助理、PAD平板电脑、PMP便携式多媒体播放器、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。[0041]图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图。[0042] 移动终端100可以包括无线通信单元110、AV音频视频输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。[0043] 无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以移动通信模块无线互联网模块、短程通信模块等等。[0044] AV输入单元120用于接收音频或视频信号。AV输入单元120可以包括相机121和麦克风122,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示模块151上。经相机121处理后的图像帧可以存储在存储器160或其它存储介质中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机121。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音音频数据,并且能够将这样的声音处理为音频数据。处理后的音频语音数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除或抑制算法以消除或抑制在接收和发送音频信号的过程中产生的噪声或者干扰。[0045]用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示模块151上时,可以形成触摸屏。[0046] 感测单元140检测移动终端100的当前状态,例如,移动终端100的打开或关闭状态、移动终端100的位置、用户对于移动终端100的接触S卩,触摸输入的有无、移动终端100的取向、移动终端100的加速或减速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。[0047] 接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源或电池充电器端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入输出IO端口、视频IO端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块0ΠΜ、客户识别模块SM、通用客户识别模块USM等等。另外,具有识别模块的装置下面称为"识别装置"可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入例如,数据信息、电力等等并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。[0048] 另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和或触觉方式提供输出信号例如,音频信号、视频信号、警报信号、振动信号等等。[0049] 输出单元150可以包括显示模块151、音频输出模块152等等。[0050] 显示模块151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示模块151可以显示与通话或其它通信例如,文本消息收发、多媒体文件下载等等相关的用户界面UI或图形用户界面GUI。又例如,其可以对终端中存储的各种视频文件,包含但不限于录制的视频文件、从网络或其他终端获取的视频文件进行播放显示。当移动终端100处于视频通话模式或者图像捕获模式时,显示模块151还可以显示捕获的图像和或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。[0051]同时,当显示模块151和触摸板以层的形式彼此叠加以形成触摸屏时,显示模块151可以用作输入装置和输出装置。显示模块151可以包括液晶显示器LCD、薄膜晶体管IXDTFT-LCD、有机发光二极管OLED显示器、柔性显示器、三维3D显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED透明有机发光二极管显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示模块或其它显示装置,例如,移动终端可以包括外部显示模块未示出和内部显示模块未示出。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。[0052] 音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出例如,呼叫信号接收声音、消息接收声音等等。音频输出模块152可以包括扬声器、蜂鸣器等等。[0053] 存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据例如,电话簿、消息、静态图像、视频等等。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。存储器160存储数据的方式可以以数据缓存队列的方式进行存储,该数据缓存队列可以由控制器180中的队列生成模块生成,且该数据缓存队列中数据存储的规则可以由控制器180中的存储控制模块进行控制。应当理解的是,队列生成模块和存储控制模块可以内置于控制器180中,也可以独立于控制器180单独设置。[0054] 存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器例如,SD或DX存储器等等、随机访问存储器RAM、静态随机访问存储器SRAM、只读存储器ROM、电可擦除可编程只读存储器EEPROM、可编程只读存储器PROM、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。[0055] 控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。[0056]电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。[0057] 这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路ASIC、数字信号处理器DSP、数字信号处理装置DSPD、可编程逻辑装置PLD、现场可编程门阵列FPGA、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序或程序来实施,软件代码可以存储在存储器160中并且由控制器180执行。[0058] 至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。[0059] 现在将参考图2描述相机的电气结构框图。[0060] 摄影镜头1211由用于形成被摄体像的多个光学镜头构成,为单焦点镜头或变焦镜头。摄影镜头1211在镜头驱动器1221的控制下能够在光轴方向上移动,镜头驱动器1221根据来自镜头驱动控制电路1222的控制信号,控制摄影镜头1211的焦点位置,在变焦镜头的情况下,也可控制焦点距离。镜头驱动控制电路1222按照来自微型计算机1217的控制命令进行镜头驱动器1221的驱动控制。[0061] 在摄影镜头1211的光轴上、由摄影镜头1211形成的被摄体像的位置附近配置有摄像元件1212。摄像元件1212用于对被摄体像摄像并取得摄像图像数据。在摄像元件1212上二维且呈矩阵状配置有构成各像素的光电二极管。各光电二极管产生与受光量对应的光电转换电流,该光电转换电流由与各光电二极管连接的电容器进行电荷蓄积。各像素的前表面配置有拜耳排列的RGB滤色器。[0062] 摄像元件1212与摄像电路1213连接,该摄像电路1213在摄像元件1212中进行电荷蓄积控制和图像信号读出控制,对该读出的图像信号模拟图像信号降低重置噪声后进行波形整形,进而进行增益提高等以成为适当的信号电平。[0063] 摄像电路1213与AD转换器1214连接,该AD转换器1214对模拟图像信号进行模数转换,向总线1227输出数字图像信号以下称之为图像数据。[0064]总线1227是用于传送在相机的内部读出或生成的各种数据的传送路径。在总线1227连接着上述AD转换器1214,此外还连接着图像处理器1215、JPEG处理器1216、微型计算机1217、SDRAMSynchronousDynamicrandomaccessmemory,同步动态随机存取内存1218、存储器接口以下称之为存储器IF1219、LCDLiquidCrystalDisplay,液晶显示器驱动器1220。[0065]图像处理器1215对基于摄像元件1212的输出的图像数据进行OB相减处理、白平衡调整、颜色矩阵运算、伽马转换、色差信号处理、噪声去除处理、同时化处理、边缘处理等各种图像处理。JPEG处理器1216在将图像数据记录于记录介质1225时,按照JPEG压缩方式压缩从SDRAM1218读出的图像数据。此外,JPEG处理器1216为了进行图像再现显示而进行JPEG图像数据的解压缩。进行解压缩时,读出记录在记录介质1225中的文件,在JPEG处理器1216中实施了解压缩处理后,将解压缩的图像数据暂时存储于SDRAM1218中并在LCD1226上进行显示。另外,在本实施方式中,作为图像压缩解压缩方式采用的是JPEG方式,然而压缩解压缩方式不限于此,当然可以采用MPEG、TIFF、H.264等其他的压缩解压缩方式。[0066] 微型计算机1217发挥作为该相机整体的控制部的功能,统一控制相机的各种处理序列。微型计算机1217连接着操作单元1223和闪存1224。[0067] 操作单元1223包括但不限于实体按键或者虚拟按键,该实体或虚拟按键可以为电源按钮、拍照键、编辑按键、动态图像按钮、再现按钮、菜单按钮、十字键、OK按钮、删除按钮、放大按钮等各种输入按钮和各种输入键等操作控件,检测这些操作控件的操作状态。[0068] 将检测结果向微型计算机1217输出。此外,在作为显示器的IXD1226的前表面设有触摸面板,检测用户的触摸位置,将该触摸位置向微型计算机1217输出。微型计算机1217根据来自操作单元1223的操作位置的检测结果,执行与用户的操作对应的各种处理序列。[0069]闪存1224存储用于执行微型计算机1217的各种处理序列的程序。微型计算机1217根据该程序进行相机整体的控制。此外,闪存1224存储相机的各种调整值,微型计算机1217读出调整值,按照该调整值进行相机的控制。[0070] SDRAM1218是用于对图像数据等进行暂时存储的可电改写的易失性存储器。该SDRAM1218暂时存储从AD转换器1214输出的图像数据和在图像处理器1215、JPEG处理器1216等中进行了处理后的图像数据。[0071] 存储器接口1219与记录介质1225连接,进行将图像数据和附加在图像数据中的文件头等数据写入记录介质1225和从记录介质1225中读出的控制。记录介质1225例如为能够在相机主体上自由拆装的存储器卡等记录介质,然而不限于此,也可以是内置在相机主体中的硬盘等。[0072] IXD驱动器1210与LCD1226连接,将由图像处理器1215处理后的图像数据存储于SDRAM1218,需要显示时,读取SDRAM1218存储的图像数据并在LCD1226上显示,或者,JPEG处理器1216压缩过的图像数据存储于SDRAM1218,在需要显示时,JPEG处理器1216读取SDRAM1218的压缩过的图像数据,再进行解压缩,将解压缩后的图像数据通过LCD1226进行显不O[0073] IXD1226配置在相机主体的背面进行图像显示。该LCD1226IXD,然而不限于此,也可以采用有机EL等各种显示面板LCD1226,然而不限于此,也可以采用有机EL等各种显示面板。[0074] 为了便于理解,下面基于上述移动终端硬件结构以及相机的电气结构示意图,提出本发明各个实施例。[0075] 第一实施例[0076] 本发明第一实施例提供一种分布式协同渲染方法,该方法适用于各种智能终端。对应的,本实施例中将使用分布式协同清染方法的工作模式称之为分布式协同清染模式,在该模式下,不再由终端的中央处理器独立完成对图像帧的渲染,而是由终端的中央处理器和图像处理器分工协同完成对图像帧的渲染,避免因中央处理器的图像处理性能的限制导致渲染后的图像不能及时显示而发生丢帧,继而影响相应的应用卡顿,使用不流畅,降低用户体验的问题。本实施例提供的分布式协同渲染方法尤其适用于相机应用。下面以相机应用为示例对本发明进行说明。[0077] 请参见图3所示,图3所示为第一实施例的分布式协同渲染方法流程示意图,包括:[0078] S301:在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分;[0079] S302:将得到的第一待渲染图像和第二待渲染图像分别发送给终端的图像处理器和中央处理器进行渲染处理;[0080] S303:将图像处理器和中央处理器渲染后的图像按照与预设划分规则对应的组合规则组合后进行显示。[0081] 通过图3所示的方法,可以将相机应用的图像帧由中央处理器和图像处理器进行分工协同渲染,而不再由中央处理器独立完成,因此可以更好的满足相机在不同焦距、不同背景、不同分辨率下的快速切换等需求,同时避免单独由中央处理器完成渲染时引其图像处理性能限制导致相机取景框画面显示滞后,甚至导致相机无响应,操作界面不流畅等问题。[0082] 应当理解的是,本实施例中,对图像帧的预设划分规则可以根据具体应用场景灵活设定。例如,对于相机应用,其可能处于拍照模式,此时相机应用可以拍摄得到照片;其也可以处于摄像模式,此时相机应用可以拍摄得到视频。针对这种应用场景,本实施例中的预设划分规则可以包括:[0083]当相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分或者两个区域分别作为第一待渲染图像和第二待渲染图像;对图像帧进行划分时具体划分方式可以是将该图像帧划分为上、下两部分,或者左、右两部分,或者采用其他任意划分方式进行划分;对于划分得到的两部分,可以将任意一部分作为第一待渲染图像,将另一部分作为第二待渲染图像。且划分时,两部分区域面积可以相同,也可以划分作为第一待渲染图像部分的区域面积大于作为第二待渲染图像部分的区域面积。[0084]当相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;M取大于等于I的整数值,N取大于所述M的整数值。应用理解的是,本实施例中M和N的取值具体可以根据中央处理器和图像处理器的图像处理性能,当前图像处理需求等因素灵活设置。例如M可以取I,N可以取8,或者M可以取2,N取8或16等等。下面以M取2,N取8为示例进行说明。[0085] 此时对于来自相机的图像帧视频帧,按照时间先后顺序,提取第1、2图像帧发给中央处理器进行渲染处理,提取第3、4、5、6、7、8、9、10图像帧发给图形处理器进行渲染处理,然后提取第11、12图像帧发给中央处理器进行渲染处理,再提取第13、14、15、16、17、18、19、20图像帧发给图形处理器进行渲染处理,依次循环。[0086] 本实施例中,对将图像处理器和中央处理器渲染后的图像进行组合后进行显示。在组合时,采用的组合规则需与上述预设划分规则对应。例如:[0087] 假设相机当前处于拍照模式,将当前待进行渲染处理的一个图像帧划分为上、下两部分,上面部分作为第一待渲染图像,下面部分作为第二待渲染图像。然后将上面部分和下面分布分别发给图像处理器和中央处理器进行渲染处理。接收到图像处理器和中央处理器输出的处理后的图像后,将图像处理器输出的图像作为上部分,将中央处理器输出的图像作为下部分进行组合显示。[0088] 假设相机当前处于摄像模式,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取8帧作为第一待渲染图像发给图像处理器进行渲染处理,再依次提取I帧作为第二待渲染图像发给中央处理器进行渲染处理。接收到图像处理器和中央处理器输出的处理后的图像后,将图像处理器输出的8帧图像依次作为前8帧进行组合显示,将中央处理器输出的图像作为下第9帧组合显示。[0089] 本实施例中,还可以设置独立渲染模式,在该独立渲染模式下,图像的渲染处理仍由中央处理器完成。同时设置独立渲染模式,可以使得图像处理更为灵活,能进一步提升用户体验满意度。例如,在图像处理需求不大的应用场景,比如相机不需要频繁切换或者其分辨率设置较低或正常情况,则可以采用独立渲染模式,此时也能满足图像渲染处理需求,此时采用最少的资源完成图像的处理,可以提升资源利用率;而对于需要频繁切换或者分辨率设置较高等情况,则可以切换为分布式协同渲染模式,通过中央处理器和图像处理器协同完成图像渲染处理。[0090] 本实施例中,对于上述两种模式,可以设置终端默认处于独立渲染模式,而将分布式协同渲染模式关闭,具体可以通过设置使能开关对其关闭和开启进行控制。当检测到在独立渲染模式下,中央处理器的图像处理能力具体可以通过是否出现丢帧等情况进行判定不能满足需求时,再切换进入分布式协同渲染模式,此时可通过使能开关控制开启分布式协同渲染模式。[0091]因此,在本实施例中,在进入分布渲染模式之前,还可以包括:[0092]判断中央处理器在独立渲染模式下,对相机的图像帧进行渲染过程中是否丢帧,如是,转至分布式协同渲染模式;如没有,则可以继续保持当前的独立渲染模式,而将分布式协同渲染模式关闭。[0093]判断是否出现丢帧的方式可以采用各种监测统计方式,本实施例中判断中央处理器对相机的图像帧进行渲染过程中是否丢帧包括:[0094] 判断中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号V-Sync发送时间间隔例如16.6ms,如是,判断出现丢帧。此时可以切换到分布式协同渲染模式,将当前待渲染的图像帧按照上述划分规则进行划分后分别输出给中央处理器和图像处理器协同渲染处理。保证渲染后的图像帧能及时在相机取景框进行显示,避免相机无响应甚至卡顿,提升用户体验的满意度。[0095] 第二实施例[0096] 本发明第二实施例在第一实施例基础上,提供一种分布式协同渲染的实现及应用方法。本实施例中的分布式协同渲染模式设置有使能控制开关,其实现及应用过程参见图4所示,包括:[0097] S401:相机应用打开,初始时采用单独渲染模式,由中央处理器完成相机应用的图像帧的渲染;[0098] S402:判断是否出现丢帧,如是,转至S403;否则,继续判断;具体判断方式可以采用监测中央处理器渲染一个图像帧所花费的时间来判定;[00"]S403:将分布式协同清染模式的使能控制开关开启,进入分布式协同清染模式;[0100] S404:判断相机应用当前的工作模式,如是拍照模式,转至S405;否则,转至S413;[0101] S405:对当前待渲染的一个图像帧拆分成两部分,本实施例拆分成上下两部分;分别转至S406和408;[0102] S406:将上部分图像发送至图像处理器;[0103] S407:图像处理器对接收到的图像进行渲染处理后输出;[0104] S408:将下部分图像发送至中央处理器;[0105] S409:中央处理器对接收到的图像进行渲染处理后输出;[0106] S410:对图像处理器输出经渲染的上部分图像和中央处理器输出的经渲染的下部分图像进行组合;[0107] S411:对组合后得到的图像进行涂层处理;[0108] S412:经显示驱动处理后在显示模块上进行显示。[0109] S413:交替依序提取5个帧转至S414,再提取I个帧转至S415;[0110] S414:将提取的5个图像帧发送至图像处理器;[0111] S415:图像处理器对接收到的图像帧进行渲染处理后输出;[0112] S416:将提取的I个图像帧发送至中央处理器;[0113] S417:中央处理器对接收到的图像进行渲染处理后输出;[0114] S418:对图像处理器输出经渲染的图像帧和中央处理器输出的经渲染图像帧进行组合;[0115] S419:对组合后得到的图像进行涂层处理;[0116] S420:经显示驱动处理后在显示模块上进行显示。[0117] 可见,本实施例提供的清染控制方法可以在独立清染模式和分布式协同清染模式之间灵活切换,根据当前需求灵活的选择对应的渲染模式,既能很好的满足渲染需求,又能节省能耗,提升资源利用率。[0118] 第三实施例[0119] 本发明第三实施例提供一种终端,该终端可以是手机、IPAD、阅读器等各种智能终端,参见图5所示,该终端包括:[0120]图像划分模块51,用于在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分;本实施例中的图像划分模块51的功能可以由终端的控制器或者处理器实现。[0121]图像传输模块52,用于分别将第一待渲染图像和第二待渲染图像发送给终端的图像处理器和中央处理器进行渲染处理;本实施例中的图像传输模块52的功能可以由终端实现数据传输的各种传输芯片、总线实现。[0122]显示合成模块53,用于将图像处理器和中央处理器渲染后的图像按照与预设划分规则对应的组合规则组合后进行显示。本实施例中显示合成模块53可以通过终端的显示控制芯片实现。[0123] 本实施例提供的终端,可以将相机应用的图像帧由中央处理器和图像处理器进行分工协同渲染,而不再由中央处理器独立完成,因此可以更好的满足相机在不同焦距、不同背景、不同分辨率下的快速切换等需求,同时避免单独由中央处理器完成渲染时引其图像处理性能限制导致相机取景框画面显示滞后,甚至导致相机无响应,操作界面不流畅等问题。[0124] 应当理解的是,本实施例中,对图像帧的预设划分规则可以根据具体应用场景灵活设定。例如,对于相机应用,其可能处于拍照模式,此时相机应用可以拍摄得到照片;其也可以处于摄像模式,此时相机应用可以拍摄得到视频。针对这种应用场景,本实施例中的预设划分规则可以包括:[0125]当相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分别作为第一待渲染图像和第二待渲染图像;[0126]当相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;M取大于等于I的整数值,N取大于所述M的整数值。[0127]因此,参见图6所示,本实施例中的图像划分模块51可以包括:[0128]拍照模式图像划分单元511,用于在相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分或者两个区域分别作为第一待渲染图像和第二待渲染图像;对图像帧进行划分时具体划分方式可以是将该图像帧划分为上、下两部分,或者左、右两部分,或者采用其他任意划分方式进行划分;对于划分得到的两部分,可以将任意一部分作为第一待渲染图像,将另一部分作为第二待渲染图像。且划分时,两部分区域面积可以相同,也可以划分作为第一待渲染图像部分的区域面积大于作为第二待渲染图像部分的区域面积。[0129] 摄像模式图像划分单元512,用于在相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;M取大于等于I的整数值,N取大于M的整数值。应用理解的是,本实施例中M和N的取值具体可以根据中央处理器和图像处理器的图像处理性能,当前图像处理需求等因素灵活设置。例如M可以取I,N可以取5,或者M可以取2,N取6或8等等。[0130] 本实施例中,显示合成模块53对将图像处理器和中央处理器渲染后的图像进行组合时,采用的组合规则需与上述预设划分规则对应。例如:[0131] 假设相机当前处于拍照模式,将当前待进行渲染处理的一个图像帧划分为左、右两部分,左边部分作为第一待渲染图像,右边部分作为第二待渲染图像。然后将左边部分和右边分布分别发给图像处理器和中央处理器进行渲染处理。显示合成模块53接收到图像处理器和中央处理器输出的处理后的图像后,将图像处理器输出的图像作为左边部分,将中央处理器输出的图像作为右边部分进行组合显示。[0132] 假设相机当前处于摄像模式,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取5帧作为第一待渲染图像发给图像处理器进行渲染处理,再依次提取I帧作为第二待渲染图像发给中央处理器进行渲染处理。显示合成模块53接收到图像处理器和中央处理器输出的处理后的图像后,将图像处理器输出的5帧图像依次作为前5帧进行组合显示,将中央处理器输出的图像作为下第6帧组合显示。[0133] 本实施例中,还可以为终端设置独立渲染模式,在该独立渲染模式下,图像的渲染处理仍由中央处理器完成。同时设置独立渲染模式,可以使得图像处理更为灵活,能进一步提升用户体验满意度。且本实施例中,对于上述两种模式,可以设置终端默认处于独立渲染模式,而将分布式协同渲染模式关闭,具体可以通过设置使能开关对其关闭和开启进行控制。当检测到在独立渲染模式下,中央处理器的图像处理能力具体可以通过是否出现丢帧等情况进行判定不能满足需求时,再切换进入分布式协同渲染模式,此时可通过使能开关控制开启分布式协同渲染模式。因此,参见图7所示,本实施例中的终端还包括模式控制模块54,用于判断由中央处理器在独立渲染模式下对相机的图像帧进行渲染过程中丢帧时,控制终端进入分布式协同渲染模式,具体可通过使能开关控制开启分布式协同渲染模式。本实施例中模式控制模块54的功能可以通过终端的处理器或者控制器实现。[0134] 模式控制模块54可以采用各种监测统计方式判断是否出现丢帧,本实施例中模式控制模块54具体可用于判断中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号V-Sync发送时间间隔,如是,表明该图像帧不能正常显示了,判断出现丢帧。此时模式控制模块54切换到分布式协同渲染模式,通过图像划分模块51将当前待渲染的图像帧按照上述划分规则进行划分后分别输出给中央处理器和图像处理器协同渲染处理。保证渲染后的图像帧能及时在相机取景框进行显示,避免相机无响应甚至卡顿,提升用户体验的满意度。[0135] 第四实施例[0136] 本实施例在第三实施例基础上,以手机终端为例进行示例说明,且该手机终端运行安卓系统。当然也可以运行任意其他手机系统。参见图8所示,其包括:相机应用81,主控应用82、光学镜头83、光传感器例如Charge-coupledDevice84、模拟信号处理器85、AD模数转换器86、数字信号处理器87、格式化处理器88、图像压缩处理器89、固定可移动存储器810、图像控制器811以及分布式协同渲染器812和显示屏813。[0137] 主控应用82检测相机进程渲染丢帧时,分布式协同渲染器812实现实施例三中的图像划分模块51、图像传输模块52的功能。[0138] 主控应用82具体在相机在取景拍照或摄像时,通过系统的SurfaceFlinger显示合成系统在判断CPU在连续两个V-Sync垂直同步信号没有完成上一图像帧的渲染时,则认为该图像帧丢失,启动分布式协同渲染器812。[0139] 本实施例中,定义cameraDistributedRender相机分布式清染模块实现对于分布式协同渲染器812,用于对待渲染图像帧进行划分分别输送至CPU和GPU进行协同渲染,以完成快速切换相机镜头、背景、相机参数时,相机应用取景框流畅显示。[0140] 本实施例中,还可以定义供cameraDistributedRender模块调用的接口:[0141] IinitCameraDistributedRendercontext*初始化相机分布式清染模块;[0142] 2PickGraphicsFramegraphicFrame*图像划分模块,分别输送至CPU、GPU清染模块;[0143] 3startCameraDistributedRendercontext*启动相机分布式清染模块,协调调用CPU、GPU渲染;[0144] 4transportToSoftwareRender将图像帧传至CPU软件清染模块;[0145] 5transportToHardwareRender将图像帧传至GPU硬件清染模块;[0146] 6reIeaseCameraDistributedRender释放销毁相机分布式清染模块。[ΟΙ47]另外,本实施例中还可设置cameraDistributedRender的使能开关,以控制器开启和关闭的使能控制,具体如下:[0148] camera,distributed.render.enable,其值为1:米用分布式协同清染;为O:不米用分布式协同清染。[0149] 在安卓手机中实现分布式协同渲染时,生成动态链接库供不同相机应用使用:[0150]配置Android.mk文件,设置L0CAL_M0DULE 本地模块=cameraDistributedRender,引用变量include$BUILD_SHARED_LIBRARY建立共享数据库;[0151] 根据配置属性,编译生成一个公用的共享数据库可为动态库IibCameraDistributedRender.so存储上述各接口;[ΟΙ52]对应的共享数据库可为动态库生成路径:outtarget项目名system1ibIibCameraDistributedRender.so。[0153] 基于上述设置,cameraDistributedRender运行时实现以下功能:[ΟΙ54]相机取景拍照丢帧时,触发cameraDistributedRender相机分布式清染模块;[0155]当相机当前是摄像时,图像划分模块pickGraphicsFrame区分图像帧,将帧序号为8Kk=0,l,...,η由划分为第二待渲染图像,由CPU渲染,而其余序号的帧作为第一待渲染图像由GPU渲染;[0156] 当相机是拍照时,图像划分模块PickGraphicsFrame将图像分为上、下两部分,将上部分由GPU渲染,下部分由CPU渲染。[0157]实现上述功能,在系统中使用共享数据库动态库IibcameraDistributedRender.so实现接口调用的过程如下:[0158] I在图像控制器811模块中引用头文件cameraDistributedRender.h;[0159] 2在图像控制器811模块Android.mk引用L0CAL_SHARED_LIBRARIES+=IibCameraDistributedRender;[ΟΊόΟ]3使用流程,先调用initCameraDistributedRender创建分布式协同清染器,再调用pickGraphicsFrame解析标记不同类型的图像帧,调用startCameraDistributedRender启动分布式清染器,然后分别调用transportToSoftwareRender和transportToHardwareRender清染,最后调用reIeaseCameraDistributedRender释放销毁分布式协同清染器。[0161] 本实施例中,在做好上述设置后,还可以对分布式协同渲染器进行调试,调试过程中其是能看通知过程具体可以通过adb端口打开或关闭分布式协同渲染器,具体如下:[0162] Iadbshellsetpropcamera.distributed.render.enableI开启分布式清染模块;[0163] 2adbshellsetpropcamera.distributed.render.enable0关闭分布式清染模块。[0164] 本实施例提供的相机分布式协同渲染方法充分发挥了终端的CPU运算处理能力和GHJ的图像渲染能力,协同渲染以支持相机应用取景框的流畅显示和切换,丰富了用户的视觉体验;[0165] 本实施例可以在相机预览框丢帧时才启用分布式协同渲染模块,降低了内存和电量开销,提升了终端的待机时长;[0166]另外,本实施例的该分布式协同渲染器易于移植到新的软、硬件平台,提升了应用操作的流畅性,降低了开发成本、提高了生产力。[0167]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。[0168]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。[0169] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质如R0MRAM、磁碟、光盘中,包括若干指令用以使得一台终端设备可以是手机,计算机,月艮务器,空调器,或者网络设备等执行本发明各个实施例所述的方法。[0170]上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

权利要求:1.一种分布式协同清染方法,其特征在于,包括:在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分;将所述第一待渲染图像和所述第二待渲染图像分别发送给终端的图像处理器和中央处理器进行渲染处理;将所述图像处理器和所述中央处理器渲染后的图像按照与所述预设划分规则对应的组合规则组合后进行显示。2.如权利要求1所述的分布式协同渲染方法,其特征在于,所述预设划分规则包括:当所述相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分别作为第一待渲染图像和第二待渲染图像;当所述相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;所述M取大于等于I的整数值,所述N取大于所述M的整数值。3.如权利要求2所述的分布式协同渲染方法,其特征在于,当所述相机当前处于拍照模式时,将当前待进行渲染处理的图像帧划分为两部分为:将所述图像帧划分为上、下两部分,或左、右两部分。4.如权利要求1-3任一项所述的分布式协同渲染方法,其特征在于,进入所述分布渲染模式之前,还包括:判断所述中央处理器在独立渲染模式下,对所述相机的图像帧进行渲染过程中是否丢帧,如是,转至所述分布式协同渲染模式。5.如权利要求4所述的分布式协同渲染方法,其特征在于,判断所述中央处理器对所述相机的图像帧进行渲染过程中是否丢帧包括:判断所述中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号发送时间间隔,如是,判断出现丢帧。6.一种终端,其特征在于,包括:图像划分模块,用于在分布式协同渲染模式下,按预设划分规则将相机当前待进行渲染处理的图像帧划分为第一待渲染图像和第二待渲染图像两部分;图像传输模块,用于分别将所述第一待渲染图像和所述第二待渲染图像发送给终端的图像处理器和中央处理器进行渲染处理;显示合成模块,用于将所述图像处理器和所述中央处理器渲染后的图像按照与所述预设划分规则对应的组合规则组合后进行显示。7.如权利要求6所述的终端,其特征在于,所述预设划分规则包括:当所述相机当前处于拍照模式时,将当前待进行渲染处理的一个图像帧划分为两部分别作为第一待渲染图像和第二待渲染图像;当所述相机当前处于摄像模式时,交替循环的从当前待进行渲染处理的各图像帧中,先依次提取N帧作为第一待渲染图像,再依次提取M帧作为第二待渲染图像;所述M取大于等于I的整数值,所述N取大于所述M的整数值。8.如权利要求7所述的终端,其特征在于,所述图像划分模块用于在当所述相机当前处于拍照模式时,将所述图像帧划分为上、下两部分,或左、右两部分。9.如权利要求6-8任一项所述的终端,其特征在于,还包括模式控制模块,用于判断由所述中央处理器在独立渲染模式下对所述相机的图像帧进行渲染过程中丢帧时,控制所述终端进入所述分布式协同渲染模式。10.如权利要求9所述的终端,其特征在于,所述模式控制模块用于判断所述中央处理器对一个图像帧进行渲染处理的时间是否大于垂直同步信号发送时间间隔,如是,判断出现丢中贞。

百度查询: 努比亚技术有限公司 分布式协同渲染方法及终端

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。