一种绘制方法及装置与流程

文档序号:16202327发布日期:2018-12-08 06:44阅读:158来源:国知局
一种绘制方法及装置与流程

本申请涉及计算机图像处理技术领域,尤其涉及一种绘制方法及装置。

背景技术

为了保证智能电视界面的绘制性能和界面的清晰度,智能电视的界面绘制通常由智能电视中专用于图像处理的图形处理器(graphicsprocessingunit,gpu)来进行。gpu基于开放式图形库(opengraphicslibrary,opengl)进行界面绘制,opengl提供了多种图形处理函数,图形处理软件通过调用这些函数可实现界面绘制。

界面中通常包括多个显示对象,一个显示对象占用一定的显示区域。以用于展示电影列表的界面为例,其中可包括多个电影的宣传用图片,每个图片即为一个显示对象。在进行界面绘制时,需要针对每个图片分别进行绘制。针对一个图片的绘制过程一般包括:智能电视中的cpu从网络侧获取到用于在电影列表界面中展示的图片,基于获取到的图片以及预先设置的界面布局生成用于进行图片绘制的基本数据,并将这些基本数据传输给智能电视中的gpu;gpu依据图形处理软件提供的绘制逻辑,通过调用opengl使用这些基本数据绘制出电影列表界面。上述过程称为一次绘制过程。其中,用于进行图片绘制的基本数据可包括图片所在显示区域在所在界面中的顶点数据、图片所在区域的纹理坐标数据、图片的纹理数据,还可进一步包括光照数据、场景矩阵等。

每一次绘制过程都需要cpu将基本数据传输给gpu。由于cpu与gpu之间的数据传输带宽有限,使gpu无法发挥其应有的处理性能,成为界面绘制的瓶颈。为此,现有技术提出了批处理方案:针对多个基本数据相同(顶点数据和纹理坐标数据除外)的显示对象,cpu将该多个显示对象的基本数据一次传输给gpu,使得gpu将多次绘制过程进行合并,从而降低了cpu与gpu之间的数据传输带宽对绘制效率的影响。

但是,上述批处理方案需要满足特定条件,即除了顶点数据和纹理坐标数据之外的其他基本数据均相同才能对多个显示对象的绘制过程进行合并。在一些应用场景中,多数情况下无法满足上述条件(比如在智能电视应用场景中,一个界面中的每个图片的纹理各不相同),因此无法采用上述批处理方案。

由此可见,如何提高绘制效率是目前亟需解决的技术问题。



技术实现要素:

本申请实施例提供了一种绘制方法及装置,用以提高绘制效率。

第一方面,提供一种电子设备,包括:

第一处理器,获取用于界面展示的图片,将所述用于界面展示的图片中属性相关的图片的2d纹理数据变换为对应的3d纹理数据,将所述3d纹理数据发送给第二处理器;第二处理器,根据待绘制图片,从所述3d纹理数据中获取所述待绘制图片的2d纹理数据,根据获取到的2d纹理数据绘制所述待绘制图片。

第二方面,提供一种处理装置,包括:

获取单元,获取用于界面展示的图片;数据处理单元,将所述用于界面展示的图片中属性相关的图片的2d纹理数据变换为对应的3d纹理数据;发送单元,发送所述3d纹理数据。

第三方面,提供一种处理装置,包括:

接收单元,接收属性相关的图片的3d纹理数据,所述3d纹理数据由所述属性相关的图片的2d纹理数据变换得到;数据处理单元,根据待绘制图片,获取所述3d纹理数据中所述待绘制图片的2d纹理数据;绘制单元,根据获取到的2d纹理数据绘制所述待绘制图片。

第四方面,提供一种绘制方法,包括:

获取用于界面展示的图片;将所述用于界面展示的图片中属性相关的图片的2d纹理数据变换为对应的3d纹理数据;发送所述3d纹理数据。

第五方面,提供一种绘制方法,包括:

接收属性相关的图片的3d纹理数据,所述3d纹理数据由所述属性相关的图片的2d纹理数据变换得到;根据待绘制图片,获取所述3d纹理数据中所述待绘制图片的2d纹理数据;根据获取到的2d纹理数据绘制所述待绘制图片。

第六方面,提供一种电子设备,包括:

第一处理器,获取用于界面展示的图片,将所述用于界面展示的图片中属性相关的图片的第一维度纹理数据变换为对应的第二维度纹理数据,将所述第二维度纹理数据发送给第二处理器;第二处理器,根据待绘制图片,从所述第二维度纹理数据中获取所述待绘制图片的第一维度纹理数据,根据获取到的第一维度纹理数据绘制所述待绘制图片。

第七方面,提供一种绘制方法,包括:

获取单元,获取用于界面展示的图片;数据处理单元,将所述用于界面展示的图片中属性相关的图片的第一维度纹理数据变换为对应的第二维度纹理数据;发送单元,发送所述第二维度纹理数据。

第八方面,提供一种处理装置,包括:

接收单元,接收属性相关的图片的第二维度纹理数据,所述第二维度纹理数据由所述属性相关的图片的第一维度纹理数据变换得到;数据处理单元,根据待绘制图片,获取所述第二维度纹理数据中所述待绘制图片的第一维度纹理数据;绘制单元,根据获取到的第一维度纹理数据绘制所述待绘制图片。

第九方面,提供一种绘制方法,包括:

获取用于界面展示的图片;将所述用于界面展示的图片中属性相关的图片的第一维度纹理数据变换为对应的第二维度纹理数据;发送所述第二维度纹理数据。

第十方面,提供一种绘制方法,包括:

接收属性相关的图片的第二维度纹理数据,所述第二维度纹理数据由所述属性相关的图片的第一维度纹理数据变换得到;根据待绘制图片,获取所述第二维度纹理数据中所述待绘制图片的第一维度纹理数据;根据获取到的第一维度纹理数据绘制所述待绘制图片。

第十一方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得电子设备执行上述第四方面或第九方面提供的方法。

第十二方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得电子设备执行上述第五方面或第十方面提供的方法。

本申请的上述实施例中,一方面,第一处理器将用于界面展示的属性相关的图片的2d纹理数据变换为对应的3d纹理数据,比如在所述3d纹理数据中新增加一个维度用于标识图片,从而使所述属性相关的图片具有相同的3d纹理数据,满足了批处理方案的要求,因此可采用批处理方案,从而提高绘制效率。

附图说明

本申请的实施例通过示例而非限制的方式示出在所附附图中,类似的附图标记表示类似的元素。

图1、图2分别示例性地示出了本申请实施例所适用的系统架构示意图;

图3a至图3g分别示例性地示出了本申请中的界面示意图;

图4示例性地示出了本申请实施例提供的电视设备原理结构图;

图5示例性地示出了本申请实施例的电视设备的结构示意图;

图6、图7分别示例性地示出了本申请实施例提供的处理装置的结构示意图;

图8示例性地示出了本申请实施例提供的界面绘制流程示意图;

图9示例性地示出了本申请实施例中3d纹理数据的原理示意图。

具体实施方式

虽然本申请的概念易于进行各种修改和替代形式,但是其具体实施例已经通过附图中的示例示出并且将在本文中详细描述。然而,应当理解,没有意图将本申请的概念限制为所公开的特定形式,而是相反,意图是覆盖与本申请以及所附权利要求一致的所有修改、等同物和替代物。

说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用,指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可以或可以不必包括特定特征、结构或特性。此外,这样的短语不一定指的是相同的实施例。进一步地,认为在本领域技术人员的知识范围内,当结合实施例描述特定特征、结构或特性时,结合无论是否明确描述的其它实施例影响这样的特征,结构或特性。另外,应当理解,以“a,b和c中的至少一个”的形式包括在列表中的项目可以表示(a);(b);(c);(a和b);(a和c);(b和c);或(a,b和c)。类似地,以“a,b或c中的至少一个”的形式列出的项目可以表示(a);(b);(c);(a和b);(a和c);(b和c)或(a,b和c)。

在一些情况下,所公开的实施例可以在硬件、固件、软件或其任何组合中实现。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读形式(例如,易失性或非易失性存储器、介质盘或其他介质)存储或传输信息的任何存储设备,机制或其他物理结构的设备)。

在附图中,一些结构或方法特征可以以特定布置和/或顺序示出。然而,应当理解,可能不需要这样的具体布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性附图中所示不同的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示这种特征在所有实施例中都是需要的,并且在一些实施例中可以不包括或可以与其他特征组合。

如背景技术所述,在进行对象绘制时采用批处理方案可提高绘制效率。但是采用批处理需要满足一定的条件,即除了顶点数据和纹理坐标数据之外的其他数据均相同的情况下才能将多个对象的绘制过程进行合并,这就要求待绘制的对象除了位置不同以外,其他的数据(比如纹理数据、场景矩阵等)均要相同。在一些场景下,尤其在智能电视领域中,智能电视所展示的界面(比如资源列表界面)中,除不同区域所展示的图片不同以外,不同区域的其他属性均相同。但正是由于不同区域展示的图片不同,因此不同区域的opengl纹理数据不同,进而无法采用上述批处理方案,也就是说每一个区域中的图片的绘制过程都需要一次从cpu到gpu的数据传输,界面中每一帧中的每一个显示区域内的图片都需要进行一次从cpu到gpu的数据传输,导致绘制效率较低。

为此,本申请实施例通过将一种维度的纹理数据(为方便起见称为第一维度纹理数据)变换为另一种维度的纹理数据(为方便起见称为第二维度纹理数据),使得转换后得到的第二维度纹理数据满足批处理要求,从而可采用批处理技术来提高绘制效率。

不失一般性地,第二维度纹理数据与第一维度纹理数据相比,其维度更高,新增加的维度可用来对图片进行标识。例如,第一维度纹理数据可以是2维纹理数据(2d纹理数据),第二维度纹理数据可以是3d纹理数据。通过将2维纹理数据(2d纹理数据)变换为3维纹理数据(3d纹理数据),新增加的维度用于标识图片,这样可将多个属性相关(比如尺寸相同)但纹理数据不同的图片,将其纹理数据统一为该组图片对应的3d纹理数据,使其满足批处理要求,从而可采用批处理技术进行绘制,进而提高了绘制效率。当然,第一维度纹理数据和第二维度纹理数据不仅仅限于上述的2d纹理数据和3d纹理数据,也可以是其他维度的纹理数据,只要将第一维度纹理数据变换为第二维度纹理数据后,可以满足批处理要求,使用批处理技术以提高绘制效率,均在本申请的保护范围内。

下面结合附图对本申请实施例进行详细描述。在不特别声明的情况下,以下实施例中的2d纹理数据可替换为上述第一维度纹理数据,3d纹理数据可替换为上述第二纹理数据。

图1示例性地示出了本申请实施例所适用的系统架构。如图所示,该架构中可包括:电视设备101、服务器103。电视设备101和服务器103可通过网络104进行信息交互。

电视设备101可以是具有数字信号处理功能的智能电视,且支持3d纹理处理能力,比如支持opengles3.0版本或更高版本的opengl技术。用户可通过遥控器对电视设备101进行控制操作,用户也直接通过电视设备101提供的功能键对电视设备进行控制操作。服务器103中存储有资源列表(比如电子节目指南),可向电视设备101提供资源列表,以使电视设备101根据资源列表绘制界面,以供用户根据该界面选择需要收看的节目。

考虑到有些电视设备不具备数字信号编解码功能,需要通过数字视频变换盒(settopbox,简称stb,通常称作机顶盒或机上盒,是一种连接电视机与外部信号源的设备)接收数字内容(比如可包括电子节目指南、因特网网页、字幕等等),进行解码后传输给电视设备进行界面绘制和显示,还可将用户的交互信息发送给网络侧,实现交互式业务。图2示例性地示出了本申请实施例所适用的包含数字视频变换盒的系统架构。该架构中,电视设备101’与数字视频变换盒102连接,数字视频变换盒102通过网络104与服务器103连接。数字视频变换盒也可将接收到的视频数字信号转换为模拟信号并传输给电视设备进行播放。

需要说明的是,上述图1和图2是以电视设备为例描述的,上述电视设备可被替换为任何其他具有类似功能的电子设备。

以图1所示的系统架构为例,在一种应用场景中,用户通过遥控器请求获取资源列表,比如电影列表。电视设备101接收到该请求后,通过网络104从服务器103获取电影列表(该电影列表中包括电影图片等内容),并根据获得的电影列表进行界面绘制,所绘制的界面中包括电影图片。电视设备101将绘制得到的包含有电影图片的界面显示在电视设备101的屏幕上,供用户从中选择需要播放的电影。

目前,电视设备所显示的资源列表界面中,各资源对应的图片在排列方式上比较有规律,比如尺寸基本相同、排列上较为整齐、分类较为清晰。图3a至图3g分别示例性地示出了几种目前智能电视采用的界面形式。以图3a所示的界面为例,界面中包括9个对象显示区域(对象显示区域1至对象显示区域9),对象显示区域1和对象显示区域2中的显示对象尺寸相同,对象显示区域4至对象显示区域9中分别显示有图片(图片1至图片7),且图片的尺寸相同。图片1至图片7与对象显示区域之间的对应关系可预先设置。

这几种界面形式基本涵盖了当前智能电视界面的显示风格。本申请实施例可适用于上述各种形式界面的绘制过程。

图4示例性地示出了电视设备中与本申请实施例相关的结构示意图。如前所述,该电视设备也可被替换为其他具有类似功能的电子设备。以下仅以电视设备为例进行描述。

图4所示的电视设备中包括至少2个处理器,具体如图中所示的第一处理器401和第二处理器402。进一步地,该电视设备还可包括显示装置。

第一处理器401主要用于进行逻辑控制,可向第二处理器402发送用于界面绘制的数据,并可控制第二处理器进行界面绘制。第二处理器可进行界面绘制。绘制的界面可输出到显示装置进行显示。

具体地,第一处理器401用于获取服务器发送的用于界面展示的图片,将用于界面展示的图片属性相关的图片的2d纹理数据变换为对应的3d纹理数据,将该3d纹理数据发送给第二处理器402。第二处理器402用于根据待绘制图片,从所述3d纹理数据中获取所述待绘制图片的2d纹理数据,根据获取到的2d纹理数据绘制所述待绘制图片。

其中,所述属性相关的图片可以是尺寸大小相同的一组图片,当然也可以是其他属性相同或相关的一组图片。所述3d纹理数据中的一个维度可以用于标识图片。

其中,第一处理器可以是cpu,第二处理器可以是gpu。以第一处理器为cpu、第二处理器为gpu为例,cpu中运行opengl主程序以控制界面绘制过程,gpu中运行着色器程序以实现界面绘制过程。

基于图4所示的原理,图5示例性地示出了一种电子设备(比如电视设备)的结构。该电子设备中可包括至少2个处理器。此例子中以2个处理器(5021,5022)为例描述,其中第一处理器5021可以是cpu,第二处理器5022可以是gpu。系统控制逻辑501耦合于至少一个处理器(5021,5022),非易失性存储器(non-volatilememory,nmv)/存储器504耦合于系统控制逻辑501,网络模块或网络接口506耦合于系统控制逻辑501。

一个实施例中的系统控制逻辑501,可包括任何适当的接口控制器,以提供到第一处理器5021或第二处理器5022中的至少一个的任何合适的接口,和/或提供到与系统控制逻辑501通信的任何合适的设备或组件的任何合适的接口。

一个实施例中的系统控制逻辑501,可包括一个或多个内存控制器,以提供到系统内存503的接口。系统内存503用来加载以及存储数据和/或指令。例如,对应该电子设备,在一个实施例中,系统内存503可包括任何合适的易失性存储器。

nvm/存储器504可包括一个或多个有形的非暂时的计算机可读介质,用于存储数据和/或指令。例如,nvm/存储器504可包括任何合适的非易失性存储装置,如一个或多个硬盘(harddiskdevice,hdd),一个或多个光盘(compactdisk,cd),和/或一个或多个数字通用盘(digitalversatiledisk,dvd)。

nvm/存储器504可包括存储资源,该存储资源物理上是该系统所安装的或者可以被访问的设备的一部分,但不一定是设备的一部分。例如,nvm/存储器504可经由网络模块或网络接口506被网络访问。

系统内存503以及nvm/存储器504可分别包括临时的或持久的指令510的副本。指令510可包括当由第一处理器5021或第二处理器5022中的至少一个执行时导致该电子设备实现本申请实施例描述的方法之一或组合的指令。各实施例中,指令510或硬件、固件,和/或软件组件可另外地/可替换地被置于系统控制逻辑501,网络模块或网络接口506和/或处理器(5021,5022)。

网络模块或网络接口506可包括一个接收器来为该电子设备提供无线接口来与一个或多个网络和/或任何合适的设备进行通信。网络模块或网络接口506可包括任何合适的硬件和/或固件。网络模块或网络接口506可包括多个天线来提供多输入多输出无线接口。在一个实施例中,网络模块或网络接口506可包括一个网络适配器、一个无线网络适配器、一个电话调制解调器,和/或无线调制解调器。

在一个实施例中,处理器(5021,5022)中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装以形成系统级封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上以形成系统芯片。

该电子设备可进一步包括输入/输出装置505。输入/输出装置505可包括用户接口旨在使用户与该电子设备进行交互,可包括外围组件接口,其被设计为使得外围组件能够与系统交互,和/或,可包括传感器,旨在确定环境条件和/或有关电子设备的位置信息。

基于图4或图5所示的结构,图6示例性地示出了一种处理装置的结构。该处理装置可以是应用于第一处理器的应用程序。如图所示,该处理装置可包括:获取单元601、数据处理单元602、发送单元603。

获取单元601用于获取用于界面展示的图片,数据处理单元602用于将用于界面展示的图片中属性相关的图片的2d纹理数据变换为对应的3d纹理数据。发送单元603用于发送所述3d纹理数据,具体地,可将所述3d纹理数据发送给第二处理器。

基于图4或图5所示的结构,图7示例性地示出了另一种处理装置的结构。该处理装置可以是应用与第二处理器的应用程序。如图所示,该处理装置可包括:接收单元701、数据处理单元702、绘制单元703。

接收单元701用于接收属性相关的图片的3d纹理数据,该3d纹理数据由所述属性相关的图片的2d纹理数据变换得到,其中,该3d纹理数据中的一个维度可用于标识图片。数据处理单元702用于根据待绘制图片,获取该3d纹理数据中所述待绘制图片的2d纹理数据。绘制单元703用于根据获取到的2d纹理数据绘制所述待绘制图片。

图8示例性地示出了本申请实施例提供的界面绘制流程。如图所示,当电视设备启动后,可从网络侧的服务器获取用于界面展示的图片,并进行界面绘制,将绘制的界面进行展示。电视设备启动后所展示的界面一般称为桌面,其中可包括多个对象显示区域,一个对象显示区域可显示一个图片,每个对象显示区域被触发后,可执行对应的功能。比如,以图3a所示的界面为例,当对象显示区域中的对象(本例子中为图片)被触发后(比如用户通过遥控器选择该显示区域中的图片),播放该对象所对应的电影。

如图8所示,上述界面绘制过程可包括:

s801:第一处理器获取用于界面展示的图片。

在电视设备启动的场景下,在基于图1所示架构的一些实施例中,第一处理器中运行的opengl主程序通过电视设备的网络模块与网络侧的服务器建立连接,并请求服务器发送用于界面展示的图片。在基于图2所示架构的一些实施例中,数字视频变换盒与网络侧服务器建立连接,将网络侧服务器发送的用于界面展示的图片发送给电视设备中的第一处理器。

通常情况下,电视设备所展示的界面可包含多页(用户可通过界面中的“上一页”“下一页”等翻页功能键进行翻页)。电视设备所展示的界面也可仅包含一页但其长度超过屏幕显示区域的高度,可通过滚动方式(比如用户可通过遥控器的“上/下”或“左/右”移动键对界面内容进行前后滚动)进行显示。由于界面中可包含大量图片,网络侧服务器发送图片的过程会占用较多的网络资源开销,影响图片传输效率,另外,电视设备绘制界面的过程也会占用大量系统开销,耗时较长,影响用户感受。因此本申请实施例中,服务器可首先将用于界面展示的部分图片发送给电视设备,之后在用户请求其他界面或请求界面的其它部分时,再根据用户的请求将相应图片发送给电视设备。其中,服务器可首先将电视设备启动后默认显示的界面中的图片或该界面中显示顺序在前的n个(n为大于等于1的整数)图片发送给电视设备。其中,n的取值可预先设置,一般可根据电视设备的处理能力(比如绘制能力)进行设置。

第一处理器接收到服务器发送的用于界面展示的图片后,可将该图片和/或该图片的索引存储在第一处理器的内存中。其中,图片的索引用于唯一标识一个图片。

上述s801具体可由第一处理器执行,或者由应用于第一处理器的处理装置(如应用程序)执行。更具体地,可由图6中的获取单元601执行。

s802:第一处理器将用于界面展示的图片中属性相关的图片的2d纹理数据变换为对应的3d纹理数据。

如前所述,所述属性相关的图片可以是一组尺寸大小相同的图片。可选地,第一处理器获取服务器发送的用于界面展示的图片后,可按照图片尺寸对获取到的图片进行分组,同一组中的图片的尺寸相同。第一处理器分别针对每个图片组,将该组图片的2d纹理数据变换为该组图片对应的3d纹理数据,并将每组图片对应的3d纹理数据发送给第二处理器。

可选地,为了避免一个图片组中的图片数量过多导致处理效率下降,可预先设置一个图片组中的最大图片数量,每个图片组的图片数量均不超过该最大图片数量。如果相同尺寸的图片的数量超过该最大图片数量,则将其分为多个图片组。

2d纹理数据实际上是二维数组,它的元素是一些颜色值。第一处理器可根据接收到的图片中各像素的颜色值生成该图片的2d纹理数据。s802中,转换得到的3d纹理数据中包括第一维度数据、第二维度数据和第三维度数据。其中,第三维度是在2d纹理数据的基础上新增加的一个维度,第三维度数据用于标识图片。例如,第三维度数据可以是图片的索引。转换得到的3d纹理数据中,与一个第三维度数据对应的第一维度数据和第二维度数据是该第三维度数据所标识的图片的2d纹理数据中的第一维度数据和第二维度数据。

举例来说,图9示例性地示出了本申请实施例中从2d纹理数据转换得到3d纹理数据的原理示意图。如图所示,图片1至图片8尺寸相同,每个图片的2d纹理数据包括s维度和t维度,s维度和t维度分别为图片在水平方向和垂直方向上的颜色值。根据图片1至图片8的2d纹理数据转换得到的3d纹理数据中增加了r维度,r维度的数据用于标识图片1至图片8,具体可以是图片的索引。

通过将尺寸相同的一组图片的2d纹理数据转换为该组图片对应的3d纹理数据,使得该组图片对应于相同的3d纹理数据,这样,针对该组图片的绘制,则可以采用批处理技术实现。

进一步地,第一处理器的内存中预先存储有界面布局相关信息,界面布局相关信息定义了界面的属性(比如大小、长宽比例)以及界面中各对象显示区域的位置,还可以定义界面中各对象显示区域内需要显示的对象。比如,以图3a所示的界面为例,该界面的界面布局相关信息定义了该界面中各对象显示区域(对象显示区域1至对象显示区域9)在该界面中的位置,以及各对象显示区域所显示的图片的索引。第一处理器可根据该界面布局相关信息获得界面中各对象显示区域的顶点数据(图3a中的对象显示区域为矩形,包括4个顶点)。

进一步地,第一处理器的内存中预先存储有界面中各对象显示区域的纹理坐标数据。纹理坐标简单地说就是纹理数据到目标图元表面映射。

上述s801具体可由第一处理器执行,或者由应用于第一处理器的处理装置(如应用程序)执行。更具体地,可由图6中的数据处理单元602执行。

s803:第一处理器将所述3d纹理数据发送给第二处理器。

该步骤中,第一处理器可将s802中处理得到的3d纹理数据,以及其他用于界面绘制的数据(比如各对象显示区域的顶点数据、纹理坐标数据、光照数据、场景矩阵等)进行合并,并根据与第二处理器之间的数据传输协议,将合并后的数据传输给第二处理器。其中,光照数据、场景矩阵等数据可预先设置在第一处理器的内存中。

上述s803具体可由第一处理器执行,或者由应用于第一处理器的处理装置(如应用程序)执行。更具体地,可由图6中的发送单元603执行。

s804:第二处理器从第一处理器接收到3d纹理数据等用于界面绘制的数据后,根据待绘制图片,获取3d纹理数据中待绘制图片的2d纹理数据,并根据获取到的2d纹理数据绘制所述待绘制图片。

可选地,具体实施时,第一处理器在将3d纹理数据等用于界面绘制的数据传输给第二处理器后,可向第二处理器发送绘制指令。通过绘制指令可指示第二处理器待展示的界面或界面中待绘制的图片。绘制指令中可包括待展示界面中的待绘制图片的指示信息。第二处理器可根据绘制指令中的待绘制图片的指示信息确定该区域中需要绘制的图片。其中,待绘制图片的指示信息可以是待绘制图片的索引。待绘制图片的指示信息也可以是待绘制对象显示区域的索引,此种情况下,对象显示区域与图片的索引之间的对应关系可预先设置,这样,第二处理器可根据该待绘制对象显示区域的索引确定对应的图片的索引,根据该图片的索引查询上述3d纹理数据中的第三维度数据,获得该需要绘制的图片的第一维度数据和第二维度数据,即得到3d纹理数据中所述需要绘制图片的2d纹理数据。进一步地,第二处理器可根据需要显示的图片的2d纹理数据,并结合其他数据(比如待绘制对象显示区域的顶点数据、纹理坐标数据,以及光照数据、场景矩阵等)对该待绘制的对象显示区域中的图片进行绘制。

以图3a所示的界面为例,由于图片2至图片7的尺寸相同,因此可根据图片2至图片7的2d纹理数据转换为该组图片对应的3d纹理数据,并将其发送给第二处理器,使得第二处理器可在一次绘制过程中基于该3d纹理数据在相应对象显示区域绘制图片2至图片7,即实现批处理。

可选地,如果第二处理器从第一处理器接收到多个图片组所对应的多个3d纹理数据,则可在对待绘制图片进行绘制时,确定待绘制图片所在的图片组,从待绘制图片所在的图片组所对应的3d纹理数据中获取该待绘制图片的2d纹理数据,从而实现图片绘制。

上述s804具体可由第二处理器执行,或者由应用于第一处理器的处理装置(如应用程序)执行。更具体地,可分别由图7中的接收单元701、数据处理单元702和绘制单元703执行。

通过上述流程,当电视设备启动后,可从服务器获取用于界面绘制的图片进行界面绘制,并将绘制得到的界面显示在电视设备的屏幕上。后续,如果用户发出了上下翻页的请求或前后滚动界面的请求,或者请求另外的界面,此时,电视设备可响应用户的上述请求,更新当前显示的内容。

例如,以用户发出向下翻页的请求为例,第一处理器接收到向下翻页的请求后,可确定目标页面中包含的图片,针对目标页面中包含的图片,判断是否已经将相应图片的3d纹理数据发送给第二处理器;如果已经发送,则向第二处理器发送绘制指令,用于指示第二处理器绘制这些图片,否则,向服务器发送图片获取请求,以请求获取这些图片,并按照前述实施例的方式,将获取到的相同尺寸的图片的2d纹理数据转换为3d纹理数据,并发送给第二处理器,并向第二处理器发送绘制指令,以指示第二处理器绘制目标页面。

再例如,在以请求新的界面为例,当前界面为电影列表界面,第一处理器接收到请求切换到电视剧列表界面的请求后,可针对所请求的界面确定用于该界面展示的图片是否已经从服务器获取得到。若判定为否,则向服务器发送图片获取请求,以请求获取所请求的界面中的图片;否则,向第二处理器发送绘制指令,该绘制指令用于指示第二处理器绘制所请求的界面。

在有些情况下,网络侧的服务器对用于界面绘制的图片进行了更新,比如更新了电影列表界面中第一个电影图片,此种情况下,服务器将更新的图片发送给电视设备。电视设备中的第一处理器接收服务器发送的更新的图片,根据更新的图片的2d纹理数据更新该图片所在的图片组对应的3d纹理数据,将更新后的3d纹理数据发送给第二处理器。第一处理器可进一步向第二处理器发送绘制指令,该绘制指令中包括界面中待更新的图片的指示信息,以指示第二处理器更新相应图片。第二处理器可根据该绘制指令中的更新的图片的指示信息,从更新后的3d纹理数据中获取该图片的2d纹理数据,并根据该2d纹理数据对该图片进行绘制。

基于相同的技术构思,本申请实施例还提供了一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得电子设备执行前述实施例中的绘制方法。比如,使得电子设备可执行前述实施例中第一处理器所执行的方法,或者执行第二处理器所执行的方法,或者执行第一处理器和第二处理器所执行的方法。

通过以上描述可以看出,本申请的上述实施例中,一方面,第一处理器将用于界面展示的图片中属性相关的图片的2d纹理数据变换为对应的3d纹理数据,从而满足了批处理方案的要求,因此可采用批处理方案,一次将与多个图片对应的3d纹理数据发送给第二处理器进行图片绘制。另一方面,第二处理器可根据待展示界面中的待绘制图片,获取所述3d纹理数据中所述待展示界面中的待绘制图片的2d纹理数据,根据获取到的2d纹理数据绘制所述待展示界面中的图片,实现了图片的批处理绘制,进而提高了绘制效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1