+

WO2017000605A1 - System on chip, graphic plotting method, intermediate layer, embedded device and medium - Google Patents

System on chip, graphic plotting method, intermediate layer, embedded device and medium Download PDF

Info

Publication number
WO2017000605A1
WO2017000605A1 PCT/CN2016/077924 CN2016077924W WO2017000605A1 WO 2017000605 A1 WO2017000605 A1 WO 2017000605A1 CN 2016077924 W CN2016077924 W CN 2016077924W WO 2017000605 A1 WO2017000605 A1 WO 2017000605A1
Authority
WO
WIPO (PCT)
Prior art keywords
graphics
configuration information
graphic
processing task
intermediate layer
Prior art date
Application number
PCT/CN2016/077924
Other languages
French (fr)
Chinese (zh)
Inventor
赵丙山
Original Assignee
深圳市中兴微电子技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2017000605A1 publication Critical patent/WO2017000605A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Definitions

  • the present invention relates to graphics rendering and display technologies, and more particularly to a system on chip, a method for drawing graphics, an intermediate layer, and an embedded device and medium.
  • SoC system-on-chip
  • APPs multimedia applications
  • graphics processing APP also referred to as an image processing APP
  • game APP various games through the game APP.
  • graphics processing APP also referred to as an image processing APP
  • game apps have high requirements on graphic display effects and graphic display speeds. In order to play games more smoothly, graphic display effects and graphic display speeds are important indicators for people to measure and purchase embedded devices. .
  • GUI embedded graphical user interface
  • the GUI system of the commonly used PC is not suitable for running on an embedded system, so many embedded systems, especially embedded ones, are generated.
  • Linux GUI Currently embedded GUIs mainly include OpenGUI, Microwindows, QT/Embedded, MiniGUI and so on.
  • the graphic display effect and graphic display speed of embedded devices are not satisfactory.
  • the graphical user interface (GUI) also involves many graphic operations, such as drawing points and drawing lines. , fill, transparency processing, smoothness processing, layer overlay, font processing, textures, and more. If these graphics operations are It is handled by the central processing unit (CPU), which will be a large load on the CPU.
  • CPU central processing unit
  • the embodiment of the present invention provides a system on chip, a graphics drawing method, an intermediate layer, and an embedded device and a medium to solve at least one problem existing in the prior art, which can improve the overall performance of the system on a chip and improve the graphic display. The speed ultimately improves the user experience.
  • an embodiment of the present invention provides a system on a chip, where the system on a chip includes a central processing unit, a graphics processor, and a frame buffering device, where:
  • a central processing unit configured to run an intermediate layer
  • a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
  • the graphics processor is further configured to: draw the graphics data according to the processing task and the configuration information, obtain a first graphics image, and output the first graphics image to a frame buffer device;
  • a frame buffering device configured to acquire the configuration information, the graphic data, and the processing task by the intermediate layer
  • a frame buffer device further configured to buffer the configuration information, graphics data, and the processing task
  • the central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from a frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic Picture
  • a frame buffering device further configured to acquire a second graphics screen from the central processing unit and output the second graphics screen; and acquire a first graphics screen from the graphics processor, and the first graphics screen Output.
  • an embodiment of the present invention provides a graphics rendering method, where the method includes:
  • the middle layer receives a call request of the application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
  • the middle layer responds to the call request, performs its own initialization to obtain configuration information
  • the middle layer determines whether the system on chip supports hardware acceleration
  • the middle layer hands the configuration information, the graphics data, and the processing task to the graphics processor for drawing;
  • the intermediate layer obtains first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information;
  • the middle layer carries the first response information in the call response, and returns the call response to the application layer.
  • an embodiment of the present invention provides an intermediate layer, where the intermediate layer includes a first receiving unit, an initializing unit, a determining unit, a drawing unit, a first acquiring unit, and an output unit, where:
  • the first receiving unit is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
  • the initialization unit is configured to perform initialization of itself to obtain configuration information in response to the call request;
  • the determining unit is configured to determine whether the system on chip supports hardware acceleration after the initialization is completed;
  • the drawing unit is configured to configure the system when the system-on-chip supports hardware acceleration Information, the graphic data, and the processing task are drawn by a graphics processor;
  • the first obtaining unit is configured to acquire first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor uses the processing task and the configuration information to the graphics data Successfully drawn;
  • the output unit is configured to carry the first response information in a call response, and return the call response to the application layer.
  • an embodiment of the present invention provides an embedded device, where the embedded device includes a display screen and a system on chip, where:
  • the system on a chip includes a central processing unit, a graphics processor, and a frame buffering device, wherein:
  • a central processing unit configured to run an intermediate layer
  • a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
  • a graphics processor configured to: draw the graphics data according to the processing task, obtain a first graphics image, and output the first graphics image to a frame buffer device;
  • a frame buffer device configured to acquire the configuration information, the graphic data, and the processing task by the intermediate layer
  • a frame buffer device further configured to buffer the configuration information, the graphics data, and the processing task
  • the central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from the frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic image;
  • a frame buffering device further configured to acquire a second graphics screen from the central processing unit and output the second graphics screen; and acquire a first graphics screen from the graphics processor and to the first graphics Picture output
  • the display screen is configured to display a first graphic picture or a second graphic picture.
  • an embodiment of the present invention provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the graphic drawing method of the first aspect.
  • the graphics processor draws the graphic data according to the processing task and the configuration information, obtains a first graphic image, and outputs the first graphic image to a frame buffer device
  • the intermediate layer of the frame buffering device acquires the configuration information, the graphics data, and the processing task; the frame buffering device buffers the configuration information, the graphics data, and the processing task; the central processor acquires the content from the frame buffer device Configuring information, the graphic data, and the processing task, drawing the graphic data according to the processing task and the configuration information to obtain a second graphic image; and the frame buffering device acquires the second graphic from the central processing unit a picture, and outputting the second graphic picture, and acquiring a first graphic picture from the graphics processor, The output of the first graphics screen; thus, it is possible to improve the overall performance of the system-on-chip and to improve the speed of the graphics display, and ultimately improve the user experience.
  • FIG. 1-1 is a schematic diagram of a system architecture when a system on a chip is drawn in a related art
  • 1-2 is a schematic structural diagram of a system when a system on a chip performs graphics rendering according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a graphic processor according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of an implementation process of a graphic drawing method according to Embodiment 3 of the present invention.
  • FIG. 4 is a schematic flowchart of an implementation process of a graphic drawing method according to Embodiment 4 of the present invention.
  • 5-1 is a schematic structural diagram 1 of an intermediate layer of an embodiment 9 of the present invention.
  • FIG. 6 is a schematic structural diagram of a structure of an embedded device according to Embodiment 10 of the present invention.
  • the application layer application (APP) 11 calls the drawing engine 12 when graphics drawing is required; then the drawing engine 12 implements graphics drawing through the DirectFB graphics library 14, and the DirectFB graphics library 14 buffers all graphics data in frames during the drawing process.
  • the CPU 13 acquires graphics data from the frame buffer device 15, and performs graphics operation processing by running the operating system; after the operation is completed, the CPU 15 returns the processed graphics data to the frame buffer device 15, and then the frame buffer device 15 returns.
  • the DirectFB graphics library 14 In FIG.
  • the operating system (linux) includes an underlying hardware driver such as a CPU and a VOU, and the drawing engine 12 can directly call an interface provided by the operating system (13) to perform operation hardware drawing.
  • the DirectFB graphics library is a graphics acceleration middle layer designed specifically for Linux graphics libraries. This middle layer is a lightweight graphics library that provides hardware graphics acceleration, input device processing features, and abstraction. The implementation principle of DirectFB graphics library is: software encapsulation of graphics algorithms that cannot be supported by current hardware to complete hardware acceleration. Therefore, DirectFB graphics library supports translucent window system and multiple layers on Linux framebuffer driver. Display, the upper layer of the DirectFB graphics library directly faces some application layer graphics libraries such as QT, which can provide services such as display, drawing, and input device control for the application layer graphics library. As can be seen from Figure 1-1, the current graphics drawing mainly depends on the DirectFB graphics library. Therefore, the graphics rendering method shown in Figure 1-1 is also called the drawing method through the DirectFB graphics library.
  • this drawing method through the DirectFB graphics library is a pure software drawing method, which passes all the graphics operations to the CPU for processing, thus increasing the CPU load. This reduces the overall performance of the system and results in slow graphics display.
  • embodiments of the present invention provide a graphics processor-based drawing mode, and the graphics processor-based drawing mode can overcome the existence of the system on chip. The graphics display is slow.
  • FIG. 1-2 is a schematic diagram of a system architecture of a system on a chip in a graphics rendering according to an embodiment of the present invention.
  • an application layer (APP) 11 of an application layer invokes a graphics engine when graphics are required to be drawn. 12; then the drawing engine 12 implements graphics drawing through the DirectFB graphics library 14, which will buffer all graphics data in the frame buffer device 15 during the graphics rendering process, and then the frame buffer device 15 will process the graphics data.
  • the graphics processor (GPU) 16 performs graphics processing; after the operation is completed, the graphics processor 16 returns the processed graphics data to the frame buffer device 15, and then returns to the DirectFB graphics library 14 by the frame buffer device 15.
  • both the central processor and the graphics processor are part of the Linux operating system. Both can be drawn.
  • the difference is that the central processor corresponds to the software drawing, the graphics processor corresponds to the hardware drawing, the middle layer can be DirectFB, and the DirectFB is drawn by the central processing unit or the graphics processor.
  • the result of the drawing is given to the frame buffer device, and the frame buffer device is finally delivered to the display screen of the embedded device, and then the display screen of the embedded device displays the graphic image.
  • the on-chip system provided by the embodiment of the present invention adds the graphics processor 16, which can greatly improve the speed of the graphics operation, and at the same time, can reduce the load of the CPU in the system on the chip, thereby improving the overall system. Performance in turn increases the speed of graphical display and ultimately improves the user experience. If a graphics operation allows the graphics processor to perform operations, it takes about 1 to 2 clock cycles (CLK). The same graphics operation requires at least 20 clock cycles for the CPU to perform operations. It can be seen that graphics processing is added to the system-on-chip. The device can greatly improve the speed of graphics operations.
  • the intermediate layer DirectFB graphics library is located above itself.
  • the GUI provides services.
  • the DirectFB graphics library uses hardware graphics to encapsulate hardware algorithms that are not supported by current hardware.
  • the upper layer of the DirectFB graphics library directly faces the application layer graphics library such as QT.
  • the DirectFB graphics library provides services such as display, drawing, and input device control for the application layer graphics library.
  • the lower layer of the DirectFB graphics library directly faces the graphics (GFX) acceleration hardware.
  • the hardware driver is required to implement all or part of the predetermined drawing function, wherein the GFX acceleration hardware may be the graphics processor in the embodiment of the present invention.
  • the graphics processor in Figure 1-2 can be implemented by various graphics processors in the prior art, for example, using a Vivante 2D GPU, where the Vivante 2D GPU mainly provides hardware acceleration for the display of the upper layer graphics, and the Vivante 2D GPU is a high Performance 2D graphics rendering acceleration unit for a wide range of consumer electronic devices. Among them, these consumer electronic devices can range in size from the smallest smartphone to 1080p electronic devices.
  • the application layer needs to call the DirectFB graphics library during the drawing operation.
  • the DirectFB graphics library relies on the kernel's frame buffer driver (also known as buffer device, including /dev/fb0) to access graphics processing. Device.
  • the kernel's frame buffer driver also known as buffer device, including /dev/fb0
  • the frame buffer device used in the system on chip can be driven by a video output unit (VOU).
  • VOU video output unit
  • a screen display unit can be used.
  • the OSD (On Screen Display) driver is completed. It should be noted that due to the limitation of the OSD itself in the hardware scaling, the system on chip cannot meet the scaling effect and quality requirements.
  • the graphics operation operation adopts the mode shown in Figure 1-1, the performance of the system on chip does not meet the needs of users; based on the above aspects It is considered that the functions of the graphics operation operation and the scaling section can be performed by the graphics processor.
  • the implementation process of Figure 1-1 and Figure 1-2 is compared below.
  • the implementation of Figure 1-1 is that the application layer calls the DirectFB graphics library.
  • the DirectFB graphics library obtains the address, display mode and other parameters of the hardware display area through the frame buffer (Frame Buffer) driver, and then performs the graphics data sent by the upper layer through software. After decoding, scaling, filling, moving and other related graphics operations, they are sent to the display memory for the OSD driver to output to the display of the embedded device.
  • the software mode refers to an implementation manner between the DirectFB graphics library 14 and the frame buffer driver 15 in FIG. 1-1.
  • the implementation of Figure 1-2 is that the application layer calls the DirectFB graphics library.
  • the DirectFB graphics library obtains the parameters such as the address and display mode of the hardware display area through the Frame Buffer driver, and then decodes the data sent by the upper layer through software or hardware. After zooming, filling, handling, etc., it is sent to the display memory for the OSD driver to output to the screen.
  • the software mode refers to the implementation manner between the DirectFB graphics library 14 and the frame buffer driver 15 in FIG. 1-2.
  • the hardware mode refers to the DirectFB graphics library 14 and the graphics processor 16 in FIG. 1-2. The way to achieve it.
  • FIG. 1-2 It can be seen from the foregoing comparison of FIG. 1-1 and FIG. 1-2 that the implementation manner of FIG. 1-2 provided by the embodiment of the present invention adds a hardware mode while retaining the original software mode operation. From the perspective of hardware design, it is necessary to add a graphics processor; from the software point of view, it needs to implement kernel mode driver and user mode driver; the kernel state is used to implement the linux system architecture when the graphics processor needs to run, and the user mode is used to complete the DirectFB graphics library. Docking operation.
  • FIG. 2 is a schematic structural diagram of a graphics processor according to an embodiment of the present invention.
  • the graphics processor 16 includes:
  • Host interface (main interface) 163, configured to provide a connection between the graphics processor and the external device interface
  • the interface specifically, communicates with the memory of the system-on-chip (such as DRAM/SDRAM) through an Advanced Extensible Interface Bus (AXI) 162 through an Advanced High Performance Bus (AHB).
  • AXI Advanced Extensible Interface Bus
  • AHB Advanced High Performance Bus
  • the 161 communicates with the CPU on the system on chip.
  • the process of transmitting graphics data on the Host interface is across the clock domain boundary, that is, more than one clock cycle is required to transmit or transmit data.
  • the memory controller 166 is mainly used as a memory pipeline processing memory request and an interface for communicating with the host interface 163. When the memory controller 166 communicates with the Host interface 163, the memory controller 166 can control the first memory control channel 164 and the second memory. Two channels of channel 165 are in communication with Host interface 163. In addition, memory controller 166 is also responsible for inserting high level components and commands into the graphics pipeline.
  • a graphic data storage 167 configured to store graphic data to be drawn and to store graphic data after the drawing is completed;
  • the drawing engine 168 is configured to draw with graphics data stored in the graphics data store 167 and to rasterize the graphics data.
  • a pixel engine the pixel engine is configured to perform pixel operations and filtering on the rendered graphics; including a pixel engine distributor 169 and a pixel engine buffer 170, wherein the pixel engine distributor 169 is configured to distribute pixels of the graphics, the pixel engine buffer 170
  • the pixels are configured to be buffered, and the pixel engine distributor 169 and the pixel engine buffer 170 are connected by a pixel pipe.
  • the graphics or images are composed of individual pixels. Therefore, the pixel engine processes in units of pixels.
  • the pixel engine distributor distributes the pixel data to the pixel pipeline for processing, and the pixel engine buffer processes the pixels processed by the respective channels. The data is cached.
  • an embodiment of the present invention provides a graphics rendering method, where the method is applied to an embedded device, and the function implemented by the method can be invoked by a CPU in an embedded device.
  • the program code is implemented, of course, the program code can be stored in a computer storage medium.
  • the embedded device includes at least a processor and a storage medium.
  • FIG. 3 is a schematic diagram of an implementation process of a graphic drawing method according to Embodiment 3 of the present invention. As shown in FIG. 3, the graphic drawing method includes:
  • Step 301 The intermediate layer receives a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data.
  • the middle layer refers to the middle layer software.
  • the middle layer may be a DirectFB graphics library and software similar in function to the DirectFB graphics library.
  • the graphic data includes one or more graphic elements, and position coordinates of each of the graphic elements
  • the processing task includes a graphic operation corresponding to the graphic elements.
  • the graphics operations include, but are not limited to, operations of drawing points, drawing lines, filling, transparency processing, smoothness processing, layer superposition, font processing, mapping, and the like.
  • Step 302 The intermediate layer responds to the call request, and performs initialization of itself to obtain configuration information.
  • the configuration information refers to configuration information of a frequency output unit (VOU) register, and the configuration information includes parameter information such as a display address and a display resolution.
  • VOU frequency output unit
  • the intermediate layer performs initialization of itself to obtain configuration information in response to the call request, including: the intermediate layer responds to the call request, and the intermediate layer controls the frame buffer device to acquire configuration information of the video output unit VOU register, the configuration information. Includes display address and display resolution.
  • Step 303 after the initialization is completed, the intermediate layer determines whether the system on chip supports hardware acceleration
  • determining whether the system on chip supports hardware acceleration includes a series of steps, for example, first determining whether the system on chip includes a graphics processor, and when the system on chip does not include a graphics processor, the system on chip supports hardware acceleration.
  • the system on chip includes a graphics processor, it is determined whether the graphics processor of the system on the chip is normal. When normal, the system on chip supports hardware acceleration. When not normal, the system on chip does not support hardware acceleration.
  • Step 304 When the system on chip supports hardware acceleration, the middle layer will use the configuration information, The graphic data and the processing task are drawn by a graphics processor;
  • the graphics processor draws the graphics data according to the processing task and the configuration information, to obtain a first graphics image, including:
  • the graphics processor outputs the first graphics picture to the frame buffer device, and finally is finally delivered by the frame buffer device to the display screen of the embedded device, and then displays the first graphics screen by the display screen of the embedded device. .
  • Step 305 The intermediate layer acquires first response information from the graphics processor.
  • the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information
  • Step 306 The middle layer carries the first response information in the call response, and returns the call response to the application layer.
  • the application layer refers to a graphics library in the application layer, such as an embedded GUI, wherein the embedded GUI mainly includes OpenGUI, Microwindows, QT/Embedded, MiniGUI, and the like.
  • the method further includes steps 307 to 309, wherein:
  • Step 307 when the system on chip does not support hardware acceleration, the intermediate layer buffers the configuration information, the graphics data, and the processing task in a frame buffer device.
  • Step 308 The intermediate layer acquires second response information from the frame buffering device, where the second response information is used to indicate whether the central processor successfully renders the graphic data by using the processing task and the configuration information.
  • the central processing unit draws the graphic data according to the processing task and the configuration information to obtain a second graphic image; wherein the second graphic image is a central processing unit according to the processing task and the The process of the second graphic picture obtained by the central processing unit is similar to the process of obtaining the first graphic picture by the graphic processor, so it will not be described here.
  • Step 309 The middle layer carries the second response information in the call response, and returns the call response to the application layer.
  • the first graphic picture may be the same as or different from the second graphic picture.
  • the method before the intermediate layer outputs the first graphics image to the frame buffer device, the method further includes: after the intermediate layer performs anti-flicker processing on the first graphics image, a three graphics picture; correspondingly, the intermediate layer outputs the third graphics picture to a frame buffer device.
  • the embodiment of the present invention provides a graphics drawing method, where the method is applied to an embedded device, and the function implemented by the method can be implemented by calling a program code of a DirectFB graphics library by a CPU in the embedded device.
  • the program code of the DirectFB graphics library can be saved in a computer storage medium.
  • the embedded device includes at least a processor and a storage medium.
  • FIG. 4 is a schematic flowchart of an implementation process of a graphic drawing method according to Embodiment 4 of the present invention. As shown in FIG. 4, the graphic drawing method includes:
  • Step 401 the DirectFB graphics library receives an application layer call request
  • Step 402 The DirectFB graphics library initializes in response to the call request.
  • the DirectFB graphics library when the DirectFB graphics library performs graphics initialization operations, the DirectFBInit(&argc,&argv) function and the DirectFBCreate(&dfb) function are finally called.
  • the role of these two functions is to initialize the entire DirectFB graphics library, as well as the actual operation for the subsequent drawing and other operations. Ready.
  • the DirectFB graphics library controls the Frame Buffer driver to obtain configuration information about the OSD register of the Linux kernel, and the related configuration information is used to allocate memory, etc., where configuration information It mainly includes parameter information such as display address and display resolution.
  • DirectFBInit () function mainly to read the system and user-defined configuration information (configuration), processing command lines, reading environment variables.
  • the DirectFBCreate() function is used to complete a series of initializations and save various required information in the data structure pointed to by IDirectFB for subsequent use by the user.
  • Step 403 the DirectFB graphics library determines whether the system on chip supports hardware acceleration, if yes, proceeds to step 404, otherwise, proceeds to step 405;
  • Step 404 the DirectFB graphics library performs software drawing
  • the graphics are drawn by the drawing method of the DirectFB graphics library.
  • Step 405 the DirectFB graphics library performs hardware drawing
  • the graphics are drawn by the graphics processor based on the architecture shown in FIGS. 1-2.
  • Step 406 the DirectFB graphics library determines whether anti-flicker processing is supported, if yes, proceed to step 407, otherwise, proceed to step 408;
  • step 407 the DirectFB graphics library performs anti-flicker processing.
  • the DirectFB graphics library will check whether the system has the presence of a graphics processor, and if so, perform hardware drawing, and if not, perform software drawing.
  • the premise of hardware drawing is that the corresponding hardware module is required to implement the interface function provided by the DirectFB graphics library.
  • the graphics processor can implement the corresponding acceleration function according to the requirements of the DirectFB graphics library.
  • the DirectFB graphics library can manually open or close the no-hardware option through the configuration file (directfbrc) file to further select whether hardware is needed. Drawing.
  • the software method mainly calls the following functions, which are the standard functions provided by the DirectFB graphics library as follows:
  • the following describes the DirectFB graphics library combined with hardware (ie graphics processor) for graphics processing.
  • the hardware method has the advantages of improving the speed of graphics processing and significantly improving system performance.
  • the main function called in this hardware mode is the hardware docking function provided by DirectFB, and it needs to implement the 2D hardware driver module.
  • the main function of this hardware mode is as follows:
  • Anti-flicker processing Due to the OSD hardware itself, the graphics display has obvious jitter for interlaced video output. Anti-flicker processing is implemented on the basis of software mode and hardware mode. Anti-flicker processing can improve interlaced graphics display. the quality of.
  • the anti-flicking algorithm is specifically implemented by the following function.
  • this anti-flickering method does not have flicker and jitter on the screen from an intuitive point of view.
  • an embodiment of the present invention provides a system on chip, where the system on chip includes a central processing unit, a graphics processor, and a frame buffering device, where:
  • the system on a chip includes a central processing unit, a graphics processor, and a frame buffering device, wherein:
  • a central processing unit configured to run an intermediate layer
  • a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
  • the graphics processor is further configured to: draw the graphics data according to the processing task and the configuration information, obtain a first graphics image, and output the first graphics image to a frame buffer device;
  • a frame buffer device configured to acquire the configuration information, graphics data, and the intermediate layer Processing tasks
  • a frame buffer device further configured to buffer the configuration information, graphics data, and the processing task
  • the central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from a frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic Picture
  • a frame buffering device further configured to acquire a second graphics screen from the central processing unit and output the second graphics screen; and acquire a first graphics screen from the graphics processor, and the first graphics screen Output.
  • the graphics processor and the central processing unit output the completed graphic image (for example, the first graphic image, the second graphic image, and the third graphic image) to the frame buffer device, and then the graphic image directly passes through the VOU.
  • the OSD driver docks the display interface of other display interfaces directly to the embedded device.
  • the middle layer will carry the rendering success or not information in the call response, and return the call response to the application layer.
  • the graphics processor is a Vivante 2D graphics processor.
  • the frame buffer device is driven by a video output unit.
  • the second graphic screen is the same as or different from the first graphic image.
  • the graphic data includes one or more graphic elements, and position coordinates of each of the graphic elements, and the processing task includes a graphic operation corresponding to the graphic elements.
  • the intermediate layer is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
  • the middle layer is further configured to perform its own initialization in response to the call request;
  • the middle layer is further configured to determine whether the system on chip supports hardware acceleration
  • the middle layer is further configured to display the graphic data And the processing task is handed over to the graphics processor for drawing;
  • the intermediate layer is further configured to obtain first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information ;
  • the middle layer is further configured to carry the first response information in the call response, and return the call response to the application layer.
  • FIG. 5-1 is a schematic structural diagram 1 of an intermediate layer according to Embodiment 9 of the present invention.
  • the intermediate layer 500 includes the first layer.
  • the first receiving unit 501 is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
  • the initialization unit 502 is configured to perform initialization of itself to obtain configuration information in response to the call request;
  • the initialization unit is configured to: the intermediate layer controls the frame buffer device to acquire configuration information of a video output unit (VOU) register, and the configuration information includes a display address and a display resolution.
  • VOU video output unit
  • the determining unit 503 is configured to determine whether the system on chip supports hardware acceleration after the initialization is completed;
  • the drawing unit 504 is configured to: when the system on chip supports hardware acceleration, submit the configuration information, the graphic data, and the processing task to a graphics processor for drawing;
  • the first obtaining unit 505 is configured to acquire first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor uses the processing task and the configuration information to view the graphic The data was successfully drawn;
  • the output unit 506 is configured to carry the first response information in a call response, and return the call response to the application layer.
  • the intermediate layer 500 further includes a buffer unit 507 and a second obtaining unit 508, where:
  • the buffer unit 508 is configured to buffer configuration information, the graphics data, and the processing task in a frame buffer device when the system on chip does not support hardware acceleration;
  • the second obtaining unit 509 is configured to acquire second response information from the frame buffering device, where the second response information is used to indicate whether the central processing unit uses the processing task and the configuration information to view the graphic The data was successfully drawn;
  • the output unit is configured to carry the second response information in a call response, and return the call response to the application layer.
  • the intermediate layer further includes a processing unit, configured to perform anti-flicker processing on the first graphic image to obtain a third graphic image; correspondingly, the intermediate layer displays the third graphic image Output to the frame buffer device.
  • the first receiving unit, the initializing unit, the determining unit, the drawing unit, the first obtaining unit, and the output unit, which are included in the intermediate layer may be implemented by a central processing unit in the terminal, and may also pass logic.
  • the circuit is implemented.
  • the central processing unit may be a microprocessor (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA).
  • FIG. 6 is a A schematic diagram of a composition structure of an embedded device, as shown in FIG. 6, the embedded device 600 includes a display screen 601 and a system on chip 500, wherein: the system on chip further includes a central processing unit, a graphics processor, and a frame buffer. Equipment, where:
  • a central processing unit configured to run an intermediate layer
  • a graphics processor configured to acquire graphics data to be drawn and processing tasks corresponding to the graphics data from the intermediate layer
  • the graphics processor is further configured to: draw the graphics data according to the processing task, obtain a first graphics image, and output the first graphics image to a frame buffer device;
  • a frame buffering device configured to acquire the graphic data and the processing task by the intermediate layer
  • a frame buffer device further configured to buffer the graphics data and the processing task
  • the central processing unit is further configured to: acquire the graphic data and the processing task from the frame buffer device, and draw the graphic data according to the processing task to obtain a second graphic image;
  • a frame buffering device configured to acquire a second graphics picture from the central processing unit, output the second graphics picture, and acquire a first graphics picture from the graphics processor, and the first graphics picture Output
  • the display screen is configured to display a first graphic picture or a second graphic picture.
  • the embedded device includes a terminal device such as a set top box, a smart phone, a tablet computer, a navigator, a car TV, and a personal digital assistant.
  • a terminal device such as a set top box, a smart phone, a tablet computer, a navigator, a car TV, and a personal digital assistant.
  • the graphic drawing method executed by the above intermediate layer is implemented in the form of a software function module, and is sold or used as an independent product, it may also be stored in a computer readable storage. In the medium. Based on such understanding, the present invention is implemented The technical solution of the example or the contribution to the prior art may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for causing a computer device (may be A personal computer, server, or network device, etc.) performs all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores computer executable instructions for executing a graphic drawing method performed by an intermediate layer in the embodiment of the present invention.
  • the disclosed apparatus and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner such as: multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored or not executed.
  • the coupling, or direct coupling, or communication connection of the components shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may be electrical, mechanical or other forms. of.
  • the units described above as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units; they may be located in one place or distributed on multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be separately used as one unit, or two or more units may be integrated into one unit;
  • the unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the foregoing program may be stored in a computer readable storage medium, and when executed, the program includes The foregoing steps of the method embodiment; and the foregoing storage medium includes: a removable storage device, a read only memory (ROM), a magnetic disk, or an optical disk, and the like, which can store program codes.
  • ROM read only memory
  • the above-described integrated unit of the present invention may be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as a standalone product.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions. Enabling a computer device (which may be a personal computer, server, or network device, etc.) to perform all of the methods of the various embodiments of the present invention or section.
  • the foregoing storage medium includes various media that can store program codes, such as a mobile storage device, a ROM, a magnetic disk, or an optical disk.
  • the central processing unit runs an intermediate layer; the graphics processor acquires configuration information, graphic data to be drawn, and processing tasks corresponding to the graphic data from the intermediate layer; the graphics processor according to the processing task And drawing, by the configuration information, the graphic data to obtain a first graphic image, and outputting the first graphic image to a frame buffer device; the intermediate layer of the frame buffering device acquiring the configuration information, the graphic data, and the a processing task; a frame buffer device buffering the configuration information, graphics data, and the processing task; the central processor acquiring the configuration information, the graphics data, and the processing task from a frame buffer device, according to the processing And the configuration information is used to draw the graphic data to obtain a second graphic image; the frame buffering device acquires a second graphic image from the central processing unit, and outputs the second graphic image, and the graphic image
  • the processor acquires the first graphics picture and outputs the first graphics picture; thus, the integrity of the system on a chip can be improved Thereby increasing the speed of the graphics display, and ultimately improve the user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

A system on chip, a graphic plotting method, an intermediate layer, an embedded device and a medium. The system on chip comprises: a central processor operating an intermediate layer; a graphic processor acquiring configuration information, graphic data to be plotted and a processing task corresponding to the graphic data from the intermediate layer, plotting the graphic data according to the processing task and the configuration information to obtain a first graphic picture, and outputting the first graphic picture to a frame buffer device; the frame buffer device acquiring the configuration information, the graphic data and the processing task from the intermediate layer, and buffering the configuration information, the graphic data and the processing task; and the central processor acquiring the configuration information, the graphic data and the processing task from the frame buffer device, and plotting the graphic data according to the processing task and the configuration information to obtain a second graphic picture.

Description

片上系统、图形绘制方法、中间层及嵌入式设备、介质System on chip, graphics drawing method, middle layer and embedded device, medium 技术领域Technical field
本发明涉及图形绘制和显示技术,尤其涉及一种片上系统、图形绘制方法、中间层及嵌入式设备、介质。The present invention relates to graphics rendering and display technologies, and more particularly to a system on chip, a method for drawing graphics, an intermediate layer, and an embedded device and medium.
背景技术Background technique
随着移动网络嵌入式的普及和发展,嵌入式设备中的片上系统(SoC,System on Chip)的功能越来越强大,因此,嵌入式设备的应用也就越来越广泛,例如用户可以将各种多媒体应用程序(APP,application)例如图形处理APP、游戏APP安装到嵌入式系统中,以通过图形处理APP(又称为图像处理APP)进行图形处理,通过游戏APP玩各种游戏。以游戏为例,很多越来越大型的游戏APP对图形显示效果和图形显示速度要求都很高,为了玩游戏比较顺畅,图形显示效果和图形显示速度是人们衡量和购买嵌入式设备的重要指标。With the popularity and development of mobile network embedded, the functions of system-on-chip (SoC) in embedded devices are becoming more and more powerful. Therefore, the application of embedded devices is more and more extensive, for example, users can Various multimedia applications (APPs) such as a graphics processing APP and a game APP are installed in the embedded system to perform graphics processing through a graphics processing APP (also referred to as an image processing APP) and various games through the game APP. Taking games as an example, many of the more and more large-scale game apps have high requirements on graphic display effects and graphic display speeds. In order to play games more smoothly, graphic display effects and graphic display speeds are important indicators for people to measure and purchase embedded devices. .
上述多媒体APP在运行的过程中,都是基于嵌入式图形用户界面(GUI,Graphical User Interface,又称图形用户接口),换句话说,嵌入式GUI是嵌入式系统的一个重要组成部分。与个人计算机(PC)上的操作系统不同,由于嵌入式系统本身硬件的条件限制,常用的PC机的GUI系统不适合在嵌入式系统上运行,因此产生了许多基于嵌入式系统尤其是嵌入式Linux的GUI。目前嵌入式的GUI主要有OpenGUI、Microwindows、QT/Embedded、MiniGUI等等。然而目前嵌入式设备的图形显示效果和图形显示速度却不尽人意,举例来说,图形用户界面(GUI,Graphical User Interface,又称图形用户接口)系统涉及很多图形运算,比如画点、画线、填充、透明度处理、平滑度处理、层的叠加、字体处理、贴图等等。如果这些图形运算都 由中央处理器(CPU)来处理,那这将是对CPU的一个很大的负载。The above multimedia APP is based on the embedded graphical user interface (GUI), in other words, the embedded GUI is an important part of the embedded system. Unlike the operating system on a personal computer (PC), due to the limitations of the hardware of the embedded system itself, the GUI system of the commonly used PC is not suitable for running on an embedded system, so many embedded systems, especially embedded ones, are generated. Linux GUI. Currently embedded GUIs mainly include OpenGUI, Microwindows, QT/Embedded, MiniGUI and so on. However, the graphic display effect and graphic display speed of embedded devices are not satisfactory. For example, the graphical user interface (GUI) also involves many graphic operations, such as drawing points and drawing lines. , fill, transparency processing, smoothness processing, layer overlay, font processing, textures, and more. If these graphics operations are It is handled by the central processing unit (CPU), which will be a large load on the CPU.
现有技术中,嵌入式设备的片上系统中并没有专门的用于进行图形处理的图形处理器(Graphics Processing Unit,GPU),从而导致所有的图形绘制操作全部交给CPU来处理,这样加大了CPU的负载,进而降低了系统的整体性能,特别在进行复杂游戏操作的时候界面显示会卡顿,最终影响用户的体验。In the prior art, there is no special graphics processing unit (GPU) for performing graphics processing in the on-chip system of the embedded device, so that all the graphics drawing operations are all handed over to the CPU for processing, thus increasing The CPU load, which in turn reduces the overall performance of the system, especially when performing complex game operations, the interface display will be stuck, ultimately affecting the user experience.
发明内容Summary of the invention
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种片上系统、图形绘制方法、中间层及嵌入式设备、介质,能够提高片上系统的整体性能进而提高图形显示的速度,最终提高用户体验。In view of this, the embodiment of the present invention provides a system on chip, a graphics drawing method, an intermediate layer, and an embedded device and a medium to solve at least one problem existing in the prior art, which can improve the overall performance of the system on a chip and improve the graphic display. The speed ultimately improves the user experience.
本发明实施例的技术方案是这样实现的:The technical solution of the embodiment of the present invention is implemented as follows:
第一方面,本发明实施例提供一种片上系统,所述片上系统包括中央处理器、图形处理器和帧缓冲设备,其中:In a first aspect, an embodiment of the present invention provides a system on a chip, where the system on a chip includes a central processing unit, a graphics processor, and a frame buffering device, where:
中央处理器,配置为运行中间层;a central processing unit configured to run an intermediate layer;
图形处理器,配置为从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
图形处理器,还配置为根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;The graphics processor is further configured to: draw the graphics data according to the processing task and the configuration information, obtain a first graphics image, and output the first graphics image to a frame buffer device;
帧缓冲设备,配置为所述中间层获取所述配置信息、图形数据和所述处理任务;a frame buffering device configured to acquire the configuration information, the graphic data, and the processing task by the intermediate layer;
帧缓冲设备,还配置为缓冲所述配置信息、图形数据和所述处理任务;a frame buffer device, further configured to buffer the configuration information, graphics data, and the processing task;
中央处理器,还配置为从帧缓冲设备中获取所述配置信息、所述图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面; The central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from a frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic Picture
帧缓冲设备,还配置为从所述中央处理器获取第二图形画面,并将所述第二图形画面输出;以及从所述图形处理器获取第一图形画面,并将所述第一图形画面输出。a frame buffering device, further configured to acquire a second graphics screen from the central processing unit and output the second graphics screen; and acquire a first graphics screen from the graphics processor, and the first graphics screen Output.
第二方面,本发明实施例提供一种图形绘制方法,所述方法包括:In a second aspect, an embodiment of the present invention provides a graphics rendering method, where the method includes:
中间层接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;The middle layer receives a call request of the application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
中间层响应所述调用请求,进行自身的初始化获得配置信息;The middle layer responds to the call request, performs its own initialization to obtain configuration information;
在初始化完成之后,中间层判断片上系统是否支持硬件加速;After the initialization is completed, the middle layer determines whether the system on chip supports hardware acceleration;
当所述片上系统支持硬件加速时,中间层将所述配置信息、所述图形数据和所述处理任务交由图形处理器进行绘制;When the system on chip supports hardware acceleration, the middle layer hands the configuration information, the graphics data, and the processing task to the graphics processor for drawing;
中间层从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The intermediate layer obtains first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information;
中间层将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The middle layer carries the first response information in the call response, and returns the call response to the application layer.
第三方面,本发明实施例提供一种中间层,所述中间层包括第一接收单元、初始化单元、判断单元、绘制单元、第一获取单元和输出单元,其中:In a third aspect, an embodiment of the present invention provides an intermediate layer, where the intermediate layer includes a first receiving unit, an initializing unit, a determining unit, a drawing unit, a first acquiring unit, and an output unit, where:
所述第一接收单元,配置为接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;The first receiving unit is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
所述初始化单元,配置为响应所述调用请求,进行自身的初始化获得配置信息;The initialization unit is configured to perform initialization of itself to obtain configuration information in response to the call request;
所述判断单元,配置为在初始化完成之后,判断片上系统是否支持硬件加速;The determining unit is configured to determine whether the system on chip supports hardware acceleration after the initialization is completed;
所述绘制单元,配置为当所述片上系统支持硬件加速时,将所述配置 信息、所述图形数据和所述处理任务交由图形处理器进行绘制;The drawing unit is configured to configure the system when the system-on-chip supports hardware acceleration Information, the graphic data, and the processing task are drawn by a graphics processor;
所述第一获取单元,配置为从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The first obtaining unit is configured to acquire first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor uses the processing task and the configuration information to the graphics data Successfully drawn;
所述输出单元,配置为将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The output unit is configured to carry the first response information in a call response, and return the call response to the application layer.
第四方面,本发明实施例提供一种嵌入式设备,所述嵌入式设备包括显示屏和片上系统,其中:In a fourth aspect, an embodiment of the present invention provides an embedded device, where the embedded device includes a display screen and a system on chip, where:
所述片上系统包括中央处理器、图形处理器和帧缓冲设备,其中:The system on a chip includes a central processing unit, a graphics processor, and a frame buffering device, wherein:
中央处理器,配置为运行中间层;a central processing unit configured to run an intermediate layer;
图形处理器,配置为从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
图形处理器,配置为根据所述处理任务对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;a graphics processor configured to: draw the graphics data according to the processing task, obtain a first graphics image, and output the first graphics image to a frame buffer device;
帧缓冲设备,配置为所述中间层获取所述配置信息、所述图形数据和所述处理任务;a frame buffer device configured to acquire the configuration information, the graphic data, and the processing task by the intermediate layer;
帧缓冲设备,还配置为缓冲所述配置信息、所述图形数据和所述处理任务;a frame buffer device, further configured to buffer the configuration information, the graphics data, and the processing task;
中央处理器,还配置为从帧缓冲设备中获取所述配置信息、图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;The central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from the frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic image;
帧缓冲设备,还配置为从所述中央处理器获取第二图形画面,并将所述第二图形画面输出;以及,从所述图形处理器获取第一图形画面,并将所述第一图形画面输出;a frame buffering device, further configured to acquire a second graphics screen from the central processing unit and output the second graphics screen; and acquire a first graphics screen from the graphics processor and to the first graphics Picture output
所述显示屏,配置为显示第一图形画面或第二图形画面。 The display screen is configured to display a first graphic picture or a second graphic picture.
第五方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述第一方面的图形绘制方法。In a fifth aspect, an embodiment of the present invention provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the graphic drawing method of the first aspect.
本发明实施例提供的片上系统、图形绘制方法、中间层及嵌入式设备、介质,其中,中央处理器运行中间层;图形处理器从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;图形处理器根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;帧缓冲设备所述中间层获取所述配置信息、图形数据和所述处理任务;帧缓冲设备缓冲所述配置信息、图形数据和所述处理任务;中央处理器从帧缓冲设备中获取所述配置信息、所述图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;帧缓冲设备从所述中央处理器获取第二图形画面,并将所述第二图形画面输出,以及从所述图形处理器获取第一图形画面,并将所述第一图形画面输出;如此,能够提高片上系统的整体性能进而提高图形显示的速度,最终提高用户体验。The system on chip, the graphics drawing method, the intermediate layer, and the embedded device and the medium provided by the embodiment of the present invention, wherein the central processing unit runs the intermediate layer; the graphics processor obtains the configuration information, the graphic data to be drawn, and the graphic data to be drawn from the intermediate layer. a processing task corresponding to the graphic data; the graphics processor draws the graphic data according to the processing task and the configuration information, obtains a first graphic image, and outputs the first graphic image to a frame buffer device The intermediate layer of the frame buffering device acquires the configuration information, the graphics data, and the processing task; the frame buffering device buffers the configuration information, the graphics data, and the processing task; the central processor acquires the content from the frame buffer device Configuring information, the graphic data, and the processing task, drawing the graphic data according to the processing task and the configuration information to obtain a second graphic image; and the frame buffering device acquires the second graphic from the central processing unit a picture, and outputting the second graphic picture, and acquiring a first graphic picture from the graphics processor, The output of the first graphics screen; thus, it is possible to improve the overall performance of the system-on-chip and to improve the speed of the graphics display, and ultimately improve the user experience.
附图说明DRAWINGS
图1-1为相关技术中片上系统在进行图形绘制时的系统架构示意图;FIG. 1-1 is a schematic diagram of a system architecture when a system on a chip is drawn in a related art;
图1-2为本发明实施例中片上系统在进行图形绘制时的系统架构示意图;1-2 is a schematic structural diagram of a system when a system on a chip performs graphics rendering according to an embodiment of the present invention;
图2为本发明实施例中图形处理器的组成结构示意图;2 is a schematic structural diagram of a graphic processor according to an embodiment of the present invention;
图3为本发明实施例三图形绘制方法的实现流程示意图;3 is a schematic flowchart of an implementation process of a graphic drawing method according to Embodiment 3 of the present invention;
图4为本发明实施例四图形绘制方法的实现流程示意图;4 is a schematic flowchart of an implementation process of a graphic drawing method according to Embodiment 4 of the present invention;
图5-1为本发明实施例九中间层的组成结构示意图一;5-1 is a schematic structural diagram 1 of an intermediate layer of an embodiment 9 of the present invention;
图5-2为本发明实施例九中间层的组成结构示意图二;5-2 is a second schematic structural diagram of an intermediate layer according to Embodiment 9 of the present invention;
图6为本发明实施例十嵌入式设备的组成结构示意图。 FIG. 6 is a schematic structural diagram of a structure of an embedded device according to Embodiment 10 of the present invention.
具体实施方式detailed description
现有技术中,嵌入式设备的片上系统中并没有专门的GPU,从而导致所有的图形绘制操作全部交给CPU来处理,具体来说,如图1-1所示,应用层的应用程序(APP)11在需要图形绘制的时候,会调用绘图引擎12;然后绘图引擎12通过DirectFB图形库14实现图形绘制,DirectFB图形库14在绘制图形的过程中,会将所有的图形数据先缓冲在帧缓冲设备15上,然后CPU 13从帧缓冲设备15获取图形数据,通过运行操作系统进行图形运算处理;运算完成后CPU 15将处理后的图形数据返回给帧缓冲设备15,然后帧缓冲设备15返回给DirectFB图形库14。在图1-1中,操作系统(linux)包括CPU、VOU等底层硬件驱动,绘图引擎12可以直接调用操作系统(13)提供的接口,来进行操作硬件进行绘图。DirectFB图形库是一个专门针对Linux图形库设计的图形加速中间层,该中间层是一个轻量级的提供硬件图形加速、输入设备处理特性和抽象的图形库。DirectFB图形库的实现原理是:用软件封装当前硬件无法支持的图形算法来完成硬件加速,因此,DirectFB图形库支持半透明的视窗系统以及在Linux的帧缓冲(Frame Buffer)驱动之上的多层显示,DirectFB图形库的上层直接面向一些应用层的图形库比如QT,能够为应用层的图形库提供诸如显示、画图、输入设备控制等服务。从图1-1可以看出,目前的图形绘制主要依赖于DirectFB图形库,因此,图1-1所示的图形绘制方式也称为通过DirectFB图形库的绘图方式。In the prior art, there is no dedicated GPU in the system-on-chip of the embedded device, so that all the graphics drawing operations are all handed over to the CPU for processing. Specifically, as shown in Figure 1-1, the application layer application ( APP) 11 calls the drawing engine 12 when graphics drawing is required; then the drawing engine 12 implements graphics drawing through the DirectFB graphics library 14, and the DirectFB graphics library 14 buffers all graphics data in frames during the drawing process. On the buffer device 15, the CPU 13 acquires graphics data from the frame buffer device 15, and performs graphics operation processing by running the operating system; after the operation is completed, the CPU 15 returns the processed graphics data to the frame buffer device 15, and then the frame buffer device 15 returns. Give the DirectFB graphics library 14. In FIG. 1-1, the operating system (linux) includes an underlying hardware driver such as a CPU and a VOU, and the drawing engine 12 can directly call an interface provided by the operating system (13) to perform operation hardware drawing. The DirectFB graphics library is a graphics acceleration middle layer designed specifically for Linux graphics libraries. This middle layer is a lightweight graphics library that provides hardware graphics acceleration, input device processing features, and abstraction. The implementation principle of DirectFB graphics library is: software encapsulation of graphics algorithms that cannot be supported by current hardware to complete hardware acceleration. Therefore, DirectFB graphics library supports translucent window system and multiple layers on Linux framebuffer driver. Display, the upper layer of the DirectFB graphics library directly faces some application layer graphics libraries such as QT, which can provide services such as display, drawing, and input device control for the application layer graphics library. As can be seen from Figure 1-1, the current graphics drawing mainly depends on the DirectFB graphics library. Therefore, the graphics rendering method shown in Figure 1-1 is also called the drawing method through the DirectFB graphics library.
图1-1所示的架构中,这种通过DirectFB图形库的绘图方式是一种纯软件的绘图方式,该方式将所有的图形运算全部交给CPU来处理,这样加大了CPU的负载,从而降低了系统的整体性能进而导致图形显示的速度慢。为了解决现有技术中存在的技术问题,本发明实施例将提供一种基于图形处理器的绘图方式,基于图形处理器的绘图方式能够克服片上系统存在的 图形显示速度慢的问题。In the architecture shown in Figure 1-1, this drawing method through the DirectFB graphics library is a pure software drawing method, which passes all the graphics operations to the CPU for processing, thus increasing the CPU load. This reduces the overall performance of the system and results in slow graphics display. In order to solve the technical problems existing in the prior art, embodiments of the present invention provide a graphics processor-based drawing mode, and the graphics processor-based drawing mode can overcome the existence of the system on chip. The graphics display is slow.
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。The technical solutions of the present invention are further elaborated below in conjunction with the accompanying drawings and specific embodiments.
实施例一Embodiment 1
图1-2为本发明实施例中片上系统在进行图形绘制时的系统架构示意图,如图1-2所示,应用层的应用程序(APP)11在需要图形绘制的时候,会调用绘图引擎12;然后绘图引擎12通过DirectFB图形库14实现图形绘制,DirectFB图形库14在绘制图形的过程中,会将所有的图形数据缓冲在帧缓冲设备15,然后帧缓冲设备15将待处理的图形数据交给图形处理器(GPU)16进行图形运算处理;运算完成后图形处理器16将处理后的图形数据返回给帧缓冲设备15,然后由帧缓冲设备15返回给DirectFB图形库14。1-2 is a schematic diagram of a system architecture of a system on a chip in a graphics rendering according to an embodiment of the present invention. As shown in FIG. 1-2, an application layer (APP) 11 of an application layer invokes a graphics engine when graphics are required to be drawn. 12; then the drawing engine 12 implements graphics drawing through the DirectFB graphics library 14, which will buffer all graphics data in the frame buffer device 15 during the graphics rendering process, and then the frame buffer device 15 will process the graphics data. The graphics processor (GPU) 16 performs graphics processing; after the operation is completed, the graphics processor 16 returns the processed graphics data to the frame buffer device 15, and then returns to the DirectFB graphics library 14 by the frame buffer device 15.
在图1-2中,中央处理器和图形处理器都属于linux操作系统底层部分。两者都可以绘图,不同的是,中央处理器对应的是软件绘图,图形处理器对应的者是硬件绘图,中间层可以是DirectFB,DirectFB不论是通过中央处理器还是图形处理器来进行绘图,绘制的结果都交给帧缓冲设备,帧缓冲设备最终输送到嵌入式设备的显示屏,然后嵌入式设备的显示屏进行显示图形画面。In Figure 1-2, both the central processor and the graphics processor are part of the Linux operating system. Both can be drawn. The difference is that the central processor corresponds to the software drawing, the graphics processor corresponds to the hardware drawing, the middle layer can be DirectFB, and the DirectFB is drawn by the central processing unit or the graphics processor. The result of the drawing is given to the frame buffer device, and the frame buffer device is finally delivered to the display screen of the embedded device, and then the display screen of the embedded device displays the graphic image.
从图1-2可以看出,本发明实施例提供的片上系统增加图形处理器16,这样可以大大提高图形运算的速度,与此同时,能够降低片上系统中CPU的负载,从而提高系统的整体性能进而提高图形显示的速度,最终提高用户体验。假如一个图形运算让图形处理器来进行运算,大概需要1到2个时钟周期(CLK),同样的图形运算如果让CPU进行运算则至少需要20个时钟周期,可见,在片上系统中增加图形处理器可以大大提高图形运算的速度。另外,对于嵌入式片上系统来说,CPU的频率与同步动态随机存储器(SDRAM,Synchronous Dynamic Random Access Memory)或动态随机 存取存储器(DRAM,Dynamic Random Access Memory)之间的带宽始终是图形运算的瓶颈,所以片上系统有无图形处理器,以及图形处理器的加速能力有无和高低,最终决定GUI的质量。As can be seen from FIG. 1-2, the on-chip system provided by the embodiment of the present invention adds the graphics processor 16, which can greatly improve the speed of the graphics operation, and at the same time, can reduce the load of the CPU in the system on the chip, thereby improving the overall system. Performance in turn increases the speed of graphical display and ultimately improves the user experience. If a graphics operation allows the graphics processor to perform operations, it takes about 1 to 2 clock cycles (CLK). The same graphics operation requires at least 20 clock cycles for the CPU to perform operations. It can be seen that graphics processing is added to the system-on-chip. The device can greatly improve the speed of graphics operations. In addition, for embedded system-on-chip, the frequency of the CPU and Synchronous Dynamic Random Access Memory (SDRAM) or dynamic randomness The bandwidth between the DRAM (Dynamic Random Access Memory) is always the bottleneck of the graphics operation, so the on-chip system has no graphics processor, and the acceleration capability of the graphics processor is high and low, which ultimately determines the quality of the GUI.
需要说明的是,图形处理器如果要在目标GUI系统中运行起来,还得需要一些软件中间层如DirectFB图形库为不同的硬件加速提供统一的接口,中间层DirectFB图形库为位于自身之上的GUI提供服务,DirectFB图形库是采用软件封装当前硬件无法支持的图形算法来完成硬件加速。DirectFB图形库的上层直接面向应用层的图形库如QT,DirectFB图形库为应用层的图形库提供如显示、画图、输入设备控制等服务,DirectFB图形库的下层直接面向图形(GFX)加速硬件,要求硬件驱动实现全部或部分预定的画图函数,其中GFX加速硬件可以为本发明实施例中的图形处理器。It should be noted that if the graphics processor is to run in the target GUI system, some software intermediate layers such as the DirectFB graphics library are required to provide a unified interface for different hardware acceleration. The intermediate layer DirectFB graphics library is located above itself. The GUI provides services. The DirectFB graphics library uses hardware graphics to encapsulate hardware algorithms that are not supported by current hardware. The upper layer of the DirectFB graphics library directly faces the application layer graphics library such as QT. The DirectFB graphics library provides services such as display, drawing, and input device control for the application layer graphics library. The lower layer of the DirectFB graphics library directly faces the graphics (GFX) acceleration hardware. The hardware driver is required to implement all or part of the predetermined drawing function, wherein the GFX acceleration hardware may be the graphics processor in the embodiment of the present invention.
图1-2中图形处理器,可以采用现有技术中的各种图形处理器,例如采用Vivante 2D GPU来实现,其中Vivante 2D GPU主要为上层图形的显示提供硬件加速,Vivante 2D GPU是一个高性能的用于广泛的消费类电子设备的2D图形渲染加速单元。其中,这些消费类电子设备平面尺寸可以从最小的智能手机到1080p的电子设备。The graphics processor in Figure 1-2 can be implemented by various graphics processors in the prior art, for example, using a Vivante 2D GPU, where the Vivante 2D GPU mainly provides hardware acceleration for the display of the upper layer graphics, and the Vivante 2D GPU is a high Performance 2D graphics rendering acceleration unit for a wide range of consumer electronic devices. Among them, these consumer electronic devices can range in size from the smallest smartphone to 1080p electronic devices.
在图1-2中,应用层在进行绘图操作的过程中,需要调用DirectFB图形库,DirectFB图形库依赖内核的帧缓冲驱动(又称为缓冲器设备,包括/dev/fb0等)访问图形处理器。In Figure 1-2, the application layer needs to call the DirectFB graphics library during the drawing operation. The DirectFB graphics library relies on the kernel's frame buffer driver (also known as buffer device, including /dev/fb0) to access graphics processing. Device.
本发明实施例中,片上系统中采用的帧缓冲设备(又称为帧缓冲驱动)可以采用视频输出单元(VOU,Video Output Unit)驱动完成,在具体实施的过程中,可以采用屏幕显示单元(OSD,On Screen Display)驱动完成,需要说明的是,由于OSD本身在硬件缩放部分存在局限性,因此导致片上系统无法满足缩放效果和质量方面的要求。另外,图形运算操作如果采用图1-1所示的方式时,片上系统的性能达不到用户的需求;基于以上方面的 考虑,图形运算操作和缩放部分的功能可以由图形处理器来完成。下面对比图1-1和图1-2的实现过程。In the embodiment of the present invention, the frame buffer device (also referred to as a frame buffer driver) used in the system on chip can be driven by a video output unit (VOU). In the specific implementation process, a screen display unit can be used. The OSD (On Screen Display) driver is completed. It should be noted that due to the limitation of the OSD itself in the hardware scaling, the system on chip cannot meet the scaling effect and quality requirements. In addition, if the graphics operation operation adopts the mode shown in Figure 1-1, the performance of the system on chip does not meet the needs of users; based on the above aspects It is considered that the functions of the graphics operation operation and the scaling section can be performed by the graphics processor. The implementation process of Figure 1-1 and Figure 1-2 is compared below.
图1-1的实现方式是应用层调用DirectFB图形库,DirectFB图形库通过帧缓冲(Frame Buffer)驱动获取硬件显示区域的地址、显示模式等参数,然后通过软件方式对上层送过来的图形数据进行解码、缩放、填充、搬运等相关图形运算操作后,送往显示内存供OSD驱动输出到嵌入式设备的显示屏。其中,所述软件方式是指图1-1中的DirectFB图形库14与帧缓冲驱动15之间的实现方式。The implementation of Figure 1-1 is that the application layer calls the DirectFB graphics library. The DirectFB graphics library obtains the address, display mode and other parameters of the hardware display area through the frame buffer (Frame Buffer) driver, and then performs the graphics data sent by the upper layer through software. After decoding, scaling, filling, moving and other related graphics operations, they are sent to the display memory for the OSD driver to output to the display of the embedded device. The software mode refers to an implementation manner between the DirectFB graphics library 14 and the frame buffer driver 15 in FIG. 1-1.
图1-2的实现方式是应用层调用DirectFB图形库,DirectFB图形库通过Frame Buffer驱动获取硬件显示区域的地址、显示模式等参数,然后通过软件方式或者硬件方式对上层送过来的数据进行解码、缩放、填充、搬运等相关操作后,送往显示内存供OSD驱动输出到屏幕。其中,所述软件方式是指图1-2中的DirectFB图形库14与帧缓冲驱动15之间的实现方式,所述硬件方式是指图1-2中的DirectFB图形库14与图形处理器16之间的实现方式。The implementation of Figure 1-2 is that the application layer calls the DirectFB graphics library. The DirectFB graphics library obtains the parameters such as the address and display mode of the hardware display area through the Frame Buffer driver, and then decodes the data sent by the upper layer through software or hardware. After zooming, filling, handling, etc., it is sent to the display memory for the OSD driver to output to the screen. The software mode refers to the implementation manner between the DirectFB graphics library 14 and the frame buffer driver 15 in FIG. 1-2. The hardware mode refers to the DirectFB graphics library 14 and the graphics processor 16 in FIG. 1-2. The way to achieve it.
从上述图1-1与图1-2的前后对比可以看出,本发明实施例提供的图1-2的实现方式在保留了原有的软件方式操作的同时,添加了硬件方式。从硬件设计的角度需要添加图形处理器;从软件角度需要实现内核态驱动和用户态驱动;内核态用于实现linux系统架构时所需要运行的图形处理器,用户态用于完成与DirectFB图形库的对接操作。It can be seen from the foregoing comparison of FIG. 1-1 and FIG. 1-2 that the implementation manner of FIG. 1-2 provided by the embodiment of the present invention adds a hardware mode while retaining the original software mode operation. From the perspective of hardware design, it is necessary to add a graphics processor; from the software point of view, it needs to implement kernel mode driver and user mode driver; the kernel state is used to implement the linux system architecture when the graphics processor needs to run, and the user mode is used to complete the DirectFB graphics library. Docking operation.
实施例二Embodiment 2
基于前述的实施例一,本发明实施例提供一种图形处理器,图2为本发明实施例中图形处理器的组成结构示意图,如图2所示,图形处理器16包括:Based on the foregoing embodiment 1, the embodiment of the present invention provides a graphics processor. FIG. 2 is a schematic structural diagram of a graphics processor according to an embodiment of the present invention. As shown in FIG. 2, the graphics processor 16 includes:
Host接口(主接口)163,配置为提供图形处理器与外部设备接口之间 的接口,具体地,通过高级可扩展接口总线(AXI,Advanced Extensible Interface Bus)162与片上系统的存储器(如DRAM/SDRAM)进行通信,通过高级高性能总线接口总线(AHB,Advanced High Performance Bus)161与片上系统上的CPU进行通信。一般来说,Host接口在传输图形数据的过程是跨时钟域边界的,即需要一个以上的时钟周期才能将数据传输出去或者传输进来。Host interface (main interface) 163, configured to provide a connection between the graphics processor and the external device interface The interface, specifically, communicates with the memory of the system-on-chip (such as DRAM/SDRAM) through an Advanced Extensible Interface Bus (AXI) 162 through an Advanced High Performance Bus (AHB). The 161 communicates with the CPU on the system on chip. Generally speaking, the process of transmitting graphics data on the Host interface is across the clock domain boundary, that is, more than one clock cycle is required to transmit or transmit data.
内存控制器166,主要作为图形流水线处理的内存请求和与Host接口163进行通信的接口,其中,内存控制器166与Host接口163进行通信时,可以通过第一内存控制通道164和第二内存控制通道165两个通道与Host接口163进行通信。此外,内存控制器166还负责把高层次的元件和命令插入到图形流水线中。The memory controller 166 is mainly used as a memory pipeline processing memory request and an interface for communicating with the host interface 163. When the memory controller 166 communicates with the Host interface 163, the memory controller 166 can control the first memory control channel 164 and the second memory. Two channels of channel 165 are in communication with Host interface 163. In addition, memory controller 166 is also responsible for inserting high level components and commands into the graphics pipeline.
图形数据存储器167,配置为存储待绘制的图形数据,以及存储绘制完成后的图形数据;a graphic data storage 167 configured to store graphic data to be drawn and to store graphic data after the drawing is completed;
绘图引擎168,配置为利用存储于图形数据存储器167中的图形数据进行绘制,以及光栅化图形数据。The drawing engine 168 is configured to draw with graphics data stored in the graphics data store 167 and to rasterize the graphics data.
像素引擎,像素引擎配置为在进行渲染图形进行像素操作和过滤;包括像素引擎分发器169和像素引擎缓存器170,其中像素引擎分发器169配置为对图形的像素进行分发,像素引擎缓存器170配置为对像素进行缓存,且像素引擎分发器169与像素引擎缓存器170之间通过像素管道连接。图形或图像由各个像素组成,因此,像素引擎依像素为单位进行处理,在绘图的过程中,像素引擎分发器将像素数据分发到像素管道进行处理,像素引擎缓存器将各个通道处理后的像素数据进行缓存。A pixel engine, the pixel engine is configured to perform pixel operations and filtering on the rendered graphics; including a pixel engine distributor 169 and a pixel engine buffer 170, wherein the pixel engine distributor 169 is configured to distribute pixels of the graphics, the pixel engine buffer 170 The pixels are configured to be buffered, and the pixel engine distributor 169 and the pixel engine buffer 170 are connected by a pixel pipe. The graphics or images are composed of individual pixels. Therefore, the pixel engine processes in units of pixels. During the drawing process, the pixel engine distributor distributes the pixel data to the pixel pipeline for processing, and the pixel engine buffer processes the pixels processed by the respective channels. The data is cached.
实施例三Embodiment 3
基于前述的实施例,本发明实施例提供一种图形绘制方法,该方法应用于嵌入式设备,该方法所实现的功能可以通过嵌入式设备中的CPU调用 程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该嵌入式设备至少包括处理器和存储介质。Based on the foregoing embodiments, an embodiment of the present invention provides a graphics rendering method, where the method is applied to an embedded device, and the function implemented by the method can be invoked by a CPU in an embedded device. The program code is implemented, of course, the program code can be stored in a computer storage medium. As can be seen, the embedded device includes at least a processor and a storage medium.
图3为本发明实施例三图形绘制方法的实现流程示意图,如图3所示,该图形绘制方法包括:FIG. 3 is a schematic diagram of an implementation process of a graphic drawing method according to Embodiment 3 of the present invention. As shown in FIG. 3, the graphic drawing method includes:
步骤301,中间层接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;Step 301: The intermediate layer receives a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data.
这里,所述中间层是指中间层软件,在具体实施的过程中,中间层可以为DirectFB图形库,以及与DirectFB图形库在功能上类似的软件。Here, the middle layer refers to the middle layer software. In the specific implementation process, the middle layer may be a DirectFB graphics library and software similar in function to the DirectFB graphics library.
这里,所述图形数据包括一个及一个以上的图形元素,以及每一所述图形元素的位置坐标,所述处理任务包括与所述图形元素对应的图形运算。其中,所述图形运算包括但不限于画点、画线、填充、透明度处理、平滑度处理、层的叠加、字体处理、贴图等等运算操作。Here, the graphic data includes one or more graphic elements, and position coordinates of each of the graphic elements, and the processing task includes a graphic operation corresponding to the graphic elements. The graphics operations include, but are not limited to, operations of drawing points, drawing lines, filling, transparency processing, smoothness processing, layer superposition, font processing, mapping, and the like.
步骤302,中间层响应所述调用请求,进行自身的初始化获得配置信息;Step 302: The intermediate layer responds to the call request, and performs initialization of itself to obtain configuration information.
这里,所述配置信息是指频输出单元(VOU)寄存器的配置信息,所述配置信息包括显示地址、显示分辨率等参数信息。Here, the configuration information refers to configuration information of a frequency output unit (VOU) register, and the configuration information includes parameter information such as a display address and a display resolution.
这里,所述中间层响应所述调用请求,进行自身的初始化获得配置信息,包括:中间层响应所述调用请求,中间层控制帧缓存设备获取视频输出单元VOU寄存器的配置信息,所述配置信息包括显示地址、显示分辨率。Here, the intermediate layer performs initialization of itself to obtain configuration information in response to the call request, including: the intermediate layer responds to the call request, and the intermediate layer controls the frame buffer device to acquire configuration information of the video output unit VOU register, the configuration information. Includes display address and display resolution.
步骤303,在初始化完成之后,中间层判断片上系统是否支持硬件加速; Step 303, after the initialization is completed, the intermediate layer determines whether the system on chip supports hardware acceleration;
这里,在具体实施的过程中,判断片上系统是否支持硬件加速包括一系列的步骤,例如,首先判断片上系统是否包括图形处理器,当片上系统不包括图形处理器时,则片上系统支持硬件加速;当片上系统包括图形处理器时,判断片上系统的图形处理器是否正常,当正常时,则片上系统支持硬件加速,当不正常时,则片上系统不支持硬件加速。Here, in the specific implementation process, determining whether the system on chip supports hardware acceleration includes a series of steps, for example, first determining whether the system on chip includes a graphics processor, and when the system on chip does not include a graphics processor, the system on chip supports hardware acceleration. When the system on chip includes a graphics processor, it is determined whether the graphics processor of the system on the chip is normal. When normal, the system on chip supports hardware acceleration. When not normal, the system on chip does not support hardware acceleration.
步骤304,当所述片上系统支持硬件加速时,中间层将所述配置信息、 所述图形数据和所述处理任务交由图形处理器进行绘制;Step 304: When the system on chip supports hardware acceleration, the middle layer will use the configuration information, The graphic data and the processing task are drawn by a graphics processor;
这里,所述图形处理器根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第一图形画面,包括:Here, the graphics processor draws the graphics data according to the processing task and the configuration information, to obtain a first graphics image, including:
确定所述图形数据中的所有的图形元素的位置坐标或所述图形数据中的一部分的图形元素的位置坐标;Determining a position coordinate of all graphic elements in the graphic data or a position coordinate of a graphic element of a part of the graphic data;
在所述图形元素的位置坐标上根据图形元素的图形运算对相应的元素进行绘制,得到第一图形画面;其中所述第一图形画面为所述图形处理器根据所述处理任务和所述配置信息对所述图形数据进行绘制完成后的待显示画面。And correspondingly drawing a corresponding graphic element according to a graphic operation of the graphic element to obtain a first graphic image; wherein the first graphic image is the graphic processor according to the processing task and the configuration Information to be displayed after the drawing of the graphic data is completed.
这里,图形处理器会将所述第一图形画面输出给帧缓冲设备,然后由帧缓冲设备最终输送到嵌入式设备的显示屏,然后由嵌入式设备的显示屏进行显示所述第一图形画面。Here, the graphics processor outputs the first graphics picture to the frame buffer device, and finally is finally delivered by the frame buffer device to the display screen of the embedded device, and then displays the first graphics screen by the display screen of the embedded device. .
步骤305,中间层从所述图形处理器中获取第一响应信息;Step 305: The intermediate layer acquires first response information from the graphics processor.
这里,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;Here, the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information;
步骤306,中间层将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。Step 306: The middle layer carries the first response information in the call response, and returns the call response to the application layer.
这里,应用层是指应用层中的图形库,例如嵌入式的GUI,其中嵌入式的GUI主要有OpenGUI、Microwindows、QT/Embedded、MiniGUI等等。Here, the application layer refers to a graphics library in the application layer, such as an embedded GUI, wherein the embedded GUI mainly includes OpenGUI, Microwindows, QT/Embedded, MiniGUI, and the like.
本发明实施例中,所述方法还包括步骤307至步骤309,其中:In the embodiment of the present invention, the method further includes steps 307 to 309, wherein:
步骤307,当所述片上系统不支持硬件加速时,中间层将所述配置信息、所述图形数据和所述处理任务缓冲在帧缓冲设备;Step 307, when the system on chip does not support hardware acceleration, the intermediate layer buffers the configuration information, the graphics data, and the processing task in a frame buffer device.
步骤308,中间层从所述帧缓冲设备中获取第二响应信息,所述第二响应信息用于表明中央处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功; Step 308: The intermediate layer acquires second response information from the frame buffering device, where the second response information is used to indicate whether the central processor successfully renders the graphic data by using the processing task and the configuration information.
这里,所述中央处理器根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;其中所述第二图形画面为中央处理器根据所述处理任务和所述配置信息对所述图形数据进行绘制完成后的待显示画面,所述中央处理器得到第二图形画面的过程与上述图形处理器得到第一图形画面的过程类似,因此这里不再赘述。Here, the central processing unit draws the graphic data according to the processing task and the configuration information to obtain a second graphic image; wherein the second graphic image is a central processing unit according to the processing task and the The process of the second graphic picture obtained by the central processing unit is similar to the process of obtaining the first graphic picture by the graphic processor, so it will not be described here.
步骤309,中间层将所述第二响应信息携带于调用响应中,将所述调用响应返回给所述应用层。Step 309: The middle layer carries the second response information in the call response, and returns the call response to the application layer.
这里,所述第一图形画面可以与第二图形画面相同或者不同。Here, the first graphic picture may be the same as or different from the second graphic picture.
本发明实施例中,在所述中间层将所述第一图形画面输出给帧缓冲设备之前,所述方法还包括:所述中间层对所述第一图形画面进行抗闪烁处理后,得到第三图形画面;对应地,所述中间层将所述第三图形画面输出给帧缓冲设备。In the embodiment of the present invention, before the intermediate layer outputs the first graphics image to the frame buffer device, the method further includes: after the intermediate layer performs anti-flicker processing on the first graphics image, a three graphics picture; correspondingly, the intermediate layer outputs the third graphics picture to a frame buffer device.
实施例四Embodiment 4
基于前述的实施例三,本发明实施例提供一种图形绘制方法,该方法应用于嵌入式设备,该方法所实现的功能可以通过嵌入式设备中的CPU调用DirectFB图形库的程序代码来实现,当然DirectFB图形库的程序代码可以保存在计算机存储介质中,可见,该嵌入式设备至少包括处理器和存储介质。Based on the foregoing third embodiment, the embodiment of the present invention provides a graphics drawing method, where the method is applied to an embedded device, and the function implemented by the method can be implemented by calling a program code of a DirectFB graphics library by a CPU in the embedded device. Of course, the program code of the DirectFB graphics library can be saved in a computer storage medium. As can be seen, the embedded device includes at least a processor and a storage medium.
图4为本发明实施例四图形绘制方法的实现流程示意图,如图4所示,该图形绘制方法包括:4 is a schematic flowchart of an implementation process of a graphic drawing method according to Embodiment 4 of the present invention. As shown in FIG. 4, the graphic drawing method includes:
步骤401,DirectFB图形库接收应用层的调用请求; Step 401, the DirectFB graphics library receives an application layer call request;
步骤402,DirectFB图形库响应所述调用请求进行初始化;Step 402: The DirectFB graphics library initializes in response to the call request.
具体地,DirectFB图形库进行图形的初始化操作的时候,最终调用的是DirectFBInit(&argc,&argv)函数和DirectFBCreate(&dfb)函数。这两个函数的作用是初始化整个DirectFB图形库,以及为后面的画图等实际操作做 好准备。在初始化的过程中(参见步骤421、422、423和424),DirectFB图形库会控制Frame Buffer驱动获取linux内核的OSD寄存器的相关配置信息,所述相关配置信息用于分配内存等,其中配置信息主要包括显示地址、显示分辨率等参数信息。其中,DirectFBInit()函数,主要是读取系统的和用户定义的配置信息(configuration)、处理命令行,读取环境变量等。DirectFBCreate()函数,用于完成一系列的初始化,并将各种需要的信息保存在IDirectFB指向的数据结构中为用户后续使用。Specifically, when the DirectFB graphics library performs graphics initialization operations, the DirectFBInit(&argc,&argv) function and the DirectFBCreate(&dfb) function are finally called. The role of these two functions is to initialize the entire DirectFB graphics library, as well as the actual operation for the subsequent drawing and other operations. Ready. During the initialization process (see steps 421, 422, 423, and 424), the DirectFB graphics library controls the Frame Buffer driver to obtain configuration information about the OSD register of the Linux kernel, and the related configuration information is used to allocate memory, etc., where configuration information It mainly includes parameter information such as display address and display resolution. Among them, DirectFBInit () function, mainly to read the system and user-defined configuration information (configuration), processing command lines, reading environment variables. The DirectFBCreate() function is used to complete a series of initializations and save various required information in the data structure pointed to by IDirectFB for subsequent use by the user.
步骤403,DirectFB图形库判断片上系统是否支持硬件加速,是时,进入步骤404,反之,进入步骤405; Step 403, the DirectFB graphics library determines whether the system on chip supports hardware acceleration, if yes, proceeds to step 404, otherwise, proceeds to step 405;
步骤404,DirectFB图形库进行软件绘制; Step 404, the DirectFB graphics library performs software drawing;
这里,基于图1-1所示的架构通过DirectFB图形库的绘图方式进行图形绘制。Here, based on the architecture shown in Figure 1-1, the graphics are drawn by the drawing method of the DirectFB graphics library.
步骤405,DirectFB图形库进行硬件绘制; Step 405, the DirectFB graphics library performs hardware drawing;
具体地,基于图1-2所示的架构通过图形处理器进行图形绘制。Specifically, the graphics are drawn by the graphics processor based on the architecture shown in FIGS. 1-2.
步骤406,DirectFB图形库判断是否支持抗闪烁处理,是时,进入步骤407,反之,进入步骤408; Step 406, the DirectFB graphics library determines whether anti-flicker processing is supported, if yes, proceed to step 407, otherwise, proceed to step 408;
步骤407,DirectFB图形库进行抗闪烁处理。In step 407, the DirectFB graphics library performs anti-flicker processing.
步骤408,流程结束。At step 408, the process ends.
在上述的403至步骤405中,DirectFB图形库会检查系统是否有图形处理器的存在,有的话进行硬件绘图,没有的话进行软件绘图。另外,硬件绘图的前提是,需要相应的硬件模块实现DirectFB图形库提供的接口函数。在具体实施的过程中,图形处理器可以按照DirectFB图形库的要求实现相应的加速函数,当然,DirectFB图形库可以通过配置文件(directfbrc)文件手动打开或关闭no-hardware选项来进一步选择是否需要硬件绘图。In the above 403 to step 405, the DirectFB graphics library will check whether the system has the presence of a graphics processor, and if so, perform hardware drawing, and if not, perform software drawing. In addition, the premise of hardware drawing is that the corresponding hardware module is required to implement the interface function provided by the DirectFB graphics library. In the process of implementation, the graphics processor can implement the corresponding acceleration function according to the requirements of the DirectFB graphics library. Of course, the DirectFB graphics library can manually open or close the no-hardware option through the configuration file (directfbrc) file to further select whether hardware is needed. Drawing.
实施例五 Embodiment 5
下面介绍一下DirectFB图形库结合软件方式进行图形处理的方式。该软件方式的缺点在于性能比较低,在进行复杂场景的图形显示的时候,存在画面显示不够流畅的问题。该软件方式主要调用如下的函数,这些函数是DirectFB图形库提供的标准函数如下:The following describes the way the DirectFB graphics library combines software to perform graphics processing. The disadvantage of this software method is that the performance is relatively low, and when the graphic display of the complex scene is performed, there is a problem that the screen display is not smooth enough. The software method mainly calls the following functions, which are the standard functions provided by the DirectFB graphics library as follows:
void gFillRectangle(CardState*state,DFBRectangle*rect);Void gFillRectangle(CardState*state,DFBRectangle*rect);
void gDrawLine(CardState*state,DFBRegion*line);Void gDrawLine(CardState*state,DFBRegion*line);
void gBlit(CardState*state,DFBRectangle*rect,int dx,int dy);Void gBlit(CardState*state, DFBRectangle*rect, int dx, int dy);
void gStretchBlit(CardState*state,DFBRectangle*srect,DFBRectangle*drect);Void gStretchBlit(CardState*state, DFBRectangle*srect, DFBRectangle*drect);
实施例六Embodiment 6
下面介绍一下DirectFB图形库结合硬件(即图形处理器)方式进行图形处理。相对于软件方式而言,该硬件方式的优点在于:提高了图形处理的速度,系统性能明显提高。该硬件方式主要调用的函数是DirectFB提供的硬件对接函数,而且需要2D硬件驱动模块具体实现,该硬件方式主要调用的函数如下:The following describes the DirectFB graphics library combined with hardware (ie graphics processor) for graphics processing. Compared with the software mode, the hardware method has the advantages of improving the speed of graphics processing and significantly improving system performance. The main function called in this hardware mode is the hardware docking function provided by DirectFB, and it needs to implement the 2D hardware driver module. The main function of this hardware mode is as follows:
bool(*Blit)(void*driver_data,void*device_data,DFBRectangle*rect,int dx,int dy);Bool(*Blit)(void*driver_data,void*device_data,DFBRectangle*rect,int dx,int dy);
bool(*DrawLine)(void*driver_data,void*device_data,DFBRegion*line);Bool(*DrawLine)(void*driver_data,void*device_data,DFBRegion*line);
bool(*FillTriangle)(void*driver_data,void*device_data,DFBTriangle*tri);Bool(*FillTriangle)(void*driver_data,void*device_data,DFBTriangle*tri);
bool(*StretchBlit)(void*driver_data,void*device_data,DFBRectangle*srect,DFBRectangle*drect);Bool(*StretchBlit)(void*driver_data,void*device_data,DFBRectangle*srect,DFBRectangle*drect);
下面将实施例五和实施例六两种方式对比如表1所示:In the following, the fifth embodiment and the sixth embodiment are as shown in Table 1:
表1 Table 1
Figure PCTCN2016077924-appb-000001
Figure PCTCN2016077924-appb-000001
表1中,从第07行至第18行表明的是软件方式和硬件方式所处的环境是一样的,从第01行至第06行表明的软件方式和硬件方式所完成的效果,其中从第01行至第06行这六个指标可以看出,硬件方式远远优于软件方式。In Table 1, from line 07 to line 18, the environment in which the software mode and the hardware mode are located is the same, and the effect of the software mode and the hardware mode indicated by lines 01 to 06, The six indicators from line 01 to line 06 show that the hardware approach is far superior to the software approach.
实施例七Example 7
下面介绍一下抗闪烁处理,由于OSD硬件本身的原因,对于隔行视频输出的话,图形显示有明显的抖动,在软件方式和硬件方式的基础之上进行抗闪烁处理,抗闪烁处理能够提高隔行图形显示的质量。抗闪烁算法具体是通过下面的函数实现。The following describes the anti-flicker processing. Due to the OSD hardware itself, the graphics display has obvious jitter for interlaced video output. Anti-flicker processing is implemented on the basis of software mode and hardware mode. Anti-flicker processing can improve interlaced graphics display. the quality of. The anti-flicking algorithm is specifically implemented by the following function.
void cvbs_anti_shake_neon(u8 *src_addr,u8 *dst_addr,u32 pitch,DFBRectangle*rect,u8 factor_1,u8 factor_2,u8 factor_3);Void cvbs_anti_shake_neon(u8 *src_addr, u8 *dst_addr, u32 pitch, DFBRectangle*rect, u8 factor_1, u8 factor_2, u8 factor_3);
对比实例五和实施例六,此种抗闪烁方式从直观的角度看,屏幕不会有闪烁和抖动现象。Comparing Example 5 and Embodiment 6, this anti-flickering method does not have flicker and jitter on the screen from an intuitive point of view.
实施例八Example eight
基于前述的实施例,本发明实施例提供一种片上系统,该片上系统包括中央处理器、图形处理器和帧缓冲设备,其中:Based on the foregoing embodiments, an embodiment of the present invention provides a system on chip, where the system on chip includes a central processing unit, a graphics processor, and a frame buffering device, where:
所述片上系统包括中央处理器、图形处理器和帧缓冲设备,其中:The system on a chip includes a central processing unit, a graphics processor, and a frame buffering device, wherein:
中央处理器,配置为运行中间层;a central processing unit configured to run an intermediate layer;
图形处理器,配置为从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
图形处理器,还配置为根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;The graphics processor is further configured to: draw the graphics data according to the processing task and the configuration information, obtain a first graphics image, and output the first graphics image to a frame buffer device;
帧缓冲设备,配置为所述中间层获取所述配置信息、图形数据和所述 处理任务;a frame buffer device configured to acquire the configuration information, graphics data, and the intermediate layer Processing tasks;
帧缓冲设备,还配置为缓冲所述配置信息、图形数据和所述处理任务;a frame buffer device, further configured to buffer the configuration information, graphics data, and the processing task;
中央处理器,还配置为从帧缓冲设备中获取所述配置信息、所述图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;The central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from a frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic Picture
帧缓冲设备,还配置为从所述中央处理器获取第二图形画面,并将所述第二图形画面输出;以及从所述图形处理器获取第一图形画面,并将所述第一图形画面输出。a frame buffering device, further configured to acquire a second graphics screen from the central processing unit and output the second graphics screen; and acquire a first graphics screen from the graphics processor, and the first graphics screen Output.
本发明实施例中,图形处理器和中央处理器将绘制完成的图形画面(例如第一图形画面、第二图形画面和第三图形画面)都会输出给帧缓冲设备,然后图形画面直接通过VOU的OSD驱动对接其他显示接口直接输出给嵌入式设备的显示屏。一般来说,中间层会将绘制成功与否信息携带于调用响应中,将调用响应返回给应用层。In the embodiment of the present invention, the graphics processor and the central processing unit output the completed graphic image (for example, the first graphic image, the second graphic image, and the third graphic image) to the frame buffer device, and then the graphic image directly passes through the VOU. The OSD driver docks the display interface of other display interfaces directly to the embedded device. In general, the middle layer will carry the rendering success or not information in the call response, and return the call response to the application layer.
本发明实施例中,所述图形处理器为Vivante 2D图形处理器。In the embodiment of the invention, the graphics processor is a Vivante 2D graphics processor.
本发明实施例中,所述帧缓冲设备为视频输出单元驱动。In the embodiment of the present invention, the frame buffer device is driven by a video output unit.
本发明实施例中,所述第二图形画面与所述第一图形画面相同或不同。In the embodiment of the present invention, the second graphic screen is the same as or different from the first graphic image.
本发明实施例中,所述图形数据包括一个及一个以上的图形元素,以及每一所述图形元素的位置坐标,所述处理任务包括与所述图形元素对应的图形运算。In the embodiment of the present invention, the graphic data includes one or more graphic elements, and position coordinates of each of the graphic elements, and the processing task includes a graphic operation corresponding to the graphic elements.
本发明实施例中,所述中间层,配置为接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;In the embodiment of the present invention, the intermediate layer is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
中间层,还配置为响应所述调用请求,进行自身的初始化;The middle layer is further configured to perform its own initialization in response to the call request;
在初始化完成之后,中间层,还配置为判断片上系统是否支持硬件加速;After the initialization is completed, the middle layer is further configured to determine whether the system on chip supports hardware acceleration;
当所述片上系统支持硬件加速时,中间层,还配置为将所述图形数据 和所述处理任务交由图形处理器进行绘制;When the system on chip supports hardware acceleration, the middle layer is further configured to display the graphic data And the processing task is handed over to the graphics processor for drawing;
中间层,还配置为从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The intermediate layer is further configured to obtain first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information ;
中间层,还配置为将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The middle layer is further configured to carry the first response information in the call response, and return the call response to the application layer.
实施例九Example nine
基于前述的实施例,本发明实施例再提供一种中间层,图5-1为本发明实施例九中间层的组成结构示意图一,如图5-1所示,该中间层500包括第一接收单元501、初始化单元502、判断单元503、绘制单元504、第一获取单元505和输出单元506,其中:Based on the foregoing embodiments, the embodiment of the present invention further provides an intermediate layer. FIG. 5-1 is a schematic structural diagram 1 of an intermediate layer according to Embodiment 9 of the present invention. As shown in FIG. 5-1, the intermediate layer 500 includes the first layer. The receiving unit 501, the initializing unit 502, the determining unit 503, the drawing unit 504, the first obtaining unit 505, and the output unit 506, wherein:
所述第一接收单元501,配置为接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;The first receiving unit 501 is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
所述初始化单元502,配置为响应所述调用请求,进行自身的初始化获得配置信息;The initialization unit 502 is configured to perform initialization of itself to obtain configuration information in response to the call request;
这里,所述初始化单元,配置为中间层响应所述调用请求,中间层控制帧缓存设备获取视频输出单元(VOU)寄存器的配置信息,所述配置信息包括显示地址、显示分辨率。Here, the initialization unit is configured to: the intermediate layer controls the frame buffer device to acquire configuration information of a video output unit (VOU) register, and the configuration information includes a display address and a display resolution.
所述判断单元503,配置为在初始化完成之后,判断片上系统是否支持硬件加速;The determining unit 503 is configured to determine whether the system on chip supports hardware acceleration after the initialization is completed;
所述绘制单元504,配置为当所述片上系统支持硬件加速时,将所述配置信息、所述图形数据和所述处理任务交由图形处理器进行绘制;The drawing unit 504 is configured to: when the system on chip supports hardware acceleration, submit the configuration information, the graphic data, and the processing task to a graphics processor for drawing;
所述第一获取单元505,配置为从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功; The first obtaining unit 505 is configured to acquire first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor uses the processing task and the configuration information to view the graphic The data was successfully drawn;
所述输出单元506,配置为将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The output unit 506 is configured to carry the first response information in a call response, and return the call response to the application layer.
本发明实施例中,如图5-2所示,所述中间层500还包括缓冲单元507、第二获取单元508,其中:In the embodiment of the present invention, as shown in FIG. 5-2, the intermediate layer 500 further includes a buffer unit 507 and a second obtaining unit 508, where:
所述缓冲单元508,配置为当所述片上系统不支持硬件加速时,将配置信息、所述图形数据和所述处理任务缓冲在帧缓冲设备;The buffer unit 508 is configured to buffer configuration information, the graphics data, and the processing task in a frame buffer device when the system on chip does not support hardware acceleration;
所述第二获取单元509,配置为从所述帧缓冲设备中获取第二响应信息,所述第二响应信息用于表明中央处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The second obtaining unit 509 is configured to acquire second response information from the frame buffering device, where the second response information is used to indicate whether the central processing unit uses the processing task and the configuration information to view the graphic The data was successfully drawn;
对应地,所述输出单元,配置为将所述第二响应信息携带于调用响应中,将所述调用响应返回给所述应用层。Correspondingly, the output unit is configured to carry the second response information in a call response, and return the call response to the application layer.
本发明实施例中,所述中间层还包括处理单元,配置为对所述第一图形画面进行抗闪烁处理后,得到第三图形画面;对应地,所述中间层将所述第三图形画面输出给帧缓冲设备。In the embodiment of the present invention, the intermediate layer further includes a processing unit, configured to perform anti-flicker processing on the first graphic image to obtain a third graphic image; correspondingly, the intermediate layer displays the third graphic image Output to the frame buffer device.
这里需要指出的是:以上中间层实施例的描述,与上述实施例的描述是类似的,具有同上述实施例相似的有益效果,因此不做赘述。对于本发明中间层实施例中未披露的技术细节,请参照本发明上述实施例的描述而理解,为节约篇幅,因此不再赘述。It should be noted here that the description of the above intermediate layer embodiment is similar to the description of the above embodiment, and has similar advantageous effects as the above embodiment, and therefore will not be described again. For the technical details that are not disclosed in the embodiment of the present invention, please refer to the description of the above embodiments of the present invention, and the details are not described herein.
本发明实施例中中间层所包括的第一接收单元、初始化单元、判断单元、绘制单元、第一获取单元和输出单元等单元,都可以通过终端中中央处理器来实现,当然还可以通过逻辑电路来实现,在具体实施例的过程中,中央处理器可以为微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。In the embodiment of the present invention, the first receiving unit, the initializing unit, the determining unit, the drawing unit, the first obtaining unit, and the output unit, which are included in the intermediate layer, may be implemented by a central processing unit in the terminal, and may also pass logic. The circuit is implemented. In a specific embodiment, the central processing unit may be a microprocessor (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA).
实施例十Example ten
基于前述的实施例,本发明实施例提供一种嵌入式设备,图6为本发 明实施例十嵌入式设备的组成结构示意图,如图6所示,该嵌入式设备600包括显示屏601和片上系统500,其中:所述片上系统进一步包括中央处理器、图形处理器和帧缓冲设备,其中:Based on the foregoing embodiments, an embodiment of the present invention provides an embedded device, and FIG. 6 is a A schematic diagram of a composition structure of an embedded device, as shown in FIG. 6, the embedded device 600 includes a display screen 601 and a system on chip 500, wherein: the system on chip further includes a central processing unit, a graphics processor, and a frame buffer. Equipment, where:
中央处理器,配置为运行中间层;a central processing unit configured to run an intermediate layer;
图形处理器,配置为从所述中间层中获取待绘制的图形数据和与所述图形数据对应的处理任务;a graphics processor configured to acquire graphics data to be drawn and processing tasks corresponding to the graphics data from the intermediate layer;
图形处理器,还配置为根据所述处理任务对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;The graphics processor is further configured to: draw the graphics data according to the processing task, obtain a first graphics image, and output the first graphics image to a frame buffer device;
帧缓冲设备,配置为所述中间层获取所述图形数据和所述处理任务;a frame buffering device configured to acquire the graphic data and the processing task by the intermediate layer;
帧缓冲设备,还配置为缓冲所述图形数据和所述处理任务;a frame buffer device, further configured to buffer the graphics data and the processing task;
中央处理器,还配置为从帧缓冲设备中获取所述图形数据和所述处理任务,根据所述处理任务对所述图形数据进行绘制,得到第二图形画面;The central processing unit is further configured to: acquire the graphic data and the processing task from the frame buffer device, and draw the graphic data according to the processing task to obtain a second graphic image;
帧缓冲设备,还配置为从所述中央处理器获取第二图形画面,并将所述第二图形画面输出,以及从所述图形处理器获取第一图形画面,并将所述第一图形画面输出;a frame buffering device, configured to acquire a second graphics picture from the central processing unit, output the second graphics picture, and acquire a first graphics picture from the graphics processor, and the first graphics picture Output
所述显示屏,配置为显示第一图形画面或第二图形画面。The display screen is configured to display a first graphic picture or a second graphic picture.
本发明实施例中,嵌入式设备包括机顶盒、智能手机、平板电脑、导航仪、车载电视、个人数字助理等终端设备。In the embodiment of the present invention, the embedded device includes a terminal device such as a set top box, a smart phone, a tablet computer, a navigator, a car TV, and a personal digital assistant.
这里需要指出的是:以上嵌入式设备实施例项的描述,与上述实施例描述是类似的,具有同上述实施例相同的有益效果,因此不做赘述。对于本发明嵌入式设备实施例中未披露的技术细节,本领域的技术人员请参照本发明上述实施例的描述而理解,为节约篇幅,这里不再赘述。It should be noted that the description of the above embedded device embodiment item is similar to the description of the above embodiment, and has the same advantageous effects as the above embodiment, and therefore will not be described again. For the details of the technical solutions that are not disclosed in the embodiments of the present invention, those skilled in the art can understand the description of the foregoing embodiments of the present invention.
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的中间层所执行的图形绘制方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施 例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。It should be noted that, in the embodiment of the present invention, if the graphic drawing method executed by the above intermediate layer is implemented in the form of a software function module, and is sold or used as an independent product, it may also be stored in a computer readable storage. In the medium. Based on such understanding, the present invention is implemented The technical solution of the example or the contribution to the prior art may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for causing a computer device (may be A personal computer, server, or network device, etc.) performs all or part of the methods described in various embodiments of the present invention. The foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk. Thus, embodiments of the invention are not limited to any specific combination of hardware and software.
相应地,本发明实施例再提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行本发明实施例中中间层执行的图形绘制方法。Correspondingly, the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores computer executable instructions for executing a graphic drawing method performed by an intermediate layer in the embodiment of the present invention.
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。It is to be understood that the phrase "one embodiment" or "an embodiment" or "an" Thus, "in one embodiment" or "in an embodiment" or "an" In addition, these particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present invention, the size of the sequence numbers of the above processes does not mean the order of execution, and the order of execution of each process should be determined by its function and internal logic, and should not be taken to the embodiments of the present invention. The implementation process constitutes any limitation. The serial numbers of the embodiments of the present invention are merely for the description, and do not represent the advantages and disadvantages of the embodiments.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It is to be understood that the term "comprises", "comprising", or any other variants thereof, is intended to encompass a non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes those elements. It also includes other elements that are not explicitly listed, or elements that are inherent to such a process, method, article, or device. An element that is defined by the phrase "comprising a ..." does not exclude the presence of additional equivalent elements in the process, method, item, or device that comprises the element.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法, 可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method, It can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, such as: multiple units or components may be combined, or Can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, or direct coupling, or communication connection of the components shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may be electrical, mechanical or other forms. of.
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。The units described above as separate components may or may not be physically separated, and the components displayed as the unit may or may not be physical units; they may be located in one place or distributed on multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be separately used as one unit, or two or more units may be integrated into one unit; The unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。It will be understood by those skilled in the art that all or part of the steps of implementing the foregoing method embodiments may be performed by hardware related to program instructions. The foregoing program may be stored in a computer readable storage medium, and when executed, the program includes The foregoing steps of the method embodiment; and the foregoing storage medium includes: a removable storage device, a read only memory (ROM), a magnetic disk, or an optical disk, and the like, which can store program codes.
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或 部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。Alternatively, the above-described integrated unit of the present invention may be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as a standalone product. Based on such understanding, the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions. Enabling a computer device (which may be a personal computer, server, or network device, etc.) to perform all of the methods of the various embodiments of the present invention or section. The foregoing storage medium includes various media that can store program codes, such as a mobile storage device, a ROM, a magnetic disk, or an optical disk.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the appended claims.
工业实用性Industrial applicability
本发明实施例中,中央处理器运行中间层;图形处理器从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;图形处理器根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;帧缓冲设备所述中间层获取所述配置信息、图形数据和所述处理任务;帧缓冲设备,缓冲所述配置信息、图形数据和所述处理任务;中央处理器从帧缓冲设备中获取所述配置信息、所述图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;帧缓冲设备从所述中央处理器获取第二图形画面,并将所述第二图形画面输出,以及从所述图形处理器获取第一图形画面,并将所述第一图形画面输出;如此,能够提高片上系统的整体性能进而提高图形显示的速度,最终提高用户体验。 In the embodiment of the present invention, the central processing unit runs an intermediate layer; the graphics processor acquires configuration information, graphic data to be drawn, and processing tasks corresponding to the graphic data from the intermediate layer; the graphics processor according to the processing task And drawing, by the configuration information, the graphic data to obtain a first graphic image, and outputting the first graphic image to a frame buffer device; the intermediate layer of the frame buffering device acquiring the configuration information, the graphic data, and the a processing task; a frame buffer device buffering the configuration information, graphics data, and the processing task; the central processor acquiring the configuration information, the graphics data, and the processing task from a frame buffer device, according to the processing And the configuration information is used to draw the graphic data to obtain a second graphic image; the frame buffering device acquires a second graphic image from the central processing unit, and outputs the second graphic image, and the graphic image The processor acquires the first graphics picture and outputs the first graphics picture; thus, the integrity of the system on a chip can be improved Thereby increasing the speed of the graphics display, and ultimately improve the user experience.

Claims (11)

  1. 一种片上系统,所述片上系统包括中央处理器、图形处理器和帧缓冲设备,其中:A system on a chip, the system on a chip comprising a central processing unit, a graphics processor, and a frame buffering device, wherein:
    中央处理器,配置为运行中间层;a central processing unit configured to run an intermediate layer;
    图形处理器,配置为从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
    图形处理器,还配置为根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;The graphics processor is further configured to: draw the graphics data according to the processing task and the configuration information, obtain a first graphics image, and output the first graphics image to a frame buffer device;
    帧缓冲设备,配置为所述中间层获取所述配置信息、图形数据和所述处理任务;a frame buffering device configured to acquire the configuration information, the graphic data, and the processing task by the intermediate layer;
    帧缓冲设备,还配置为缓冲所述配置信息、图形数据和所述处理任务;a frame buffer device, further configured to buffer the configuration information, graphics data, and the processing task;
    中央处理器,还配置为从帧缓冲设备中获取所述配置信息、所述图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;The central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from a frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic Picture
    帧缓冲设备,还配置为从所述中央处理器获取第二图形画面,并将所述第二图形画面输出;从所述图形处理器获取第一图形画面,并将所述第一图形画面输出。a frame buffering device, configured to acquire a second graphics picture from the central processing unit, and output the second graphics picture; acquire a first graphics picture from the graphics processor, and output the first graphics picture .
  2. 根据权利要求1所述的片上系统,其中,所述第二图形画面与所述第一图形画面相同或不同。The system on chip of claim 1, wherein the second graphics picture is the same as or different from the first graphics picture.
  3. 根据权利要求1或2所述的片上系统,其中,所述图形数据包括一个及一个以上的图形元素,以及每一所述图形元素的位置坐标,所述处理任务包括与所述图形元素对应的图形运算。The system-on-chip according to claim 1 or 2, wherein said graphic data includes one or more graphic elements, and position coordinates of each of said graphic elements, said processing task including corresponding to said graphic elements Graphical operations.
  4. 根据权利要求1或2所述的片上系统,其中,所述中间层,配置 为接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;The system on chip according to claim 1 or 2, wherein said intermediate layer is configured Receiving a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
    中间层,还配置为响应所述调用请求,进行自身的初始化;The middle layer is further configured to perform its own initialization in response to the call request;
    在初始化完成之后,中间层,还配置为判断片上系统是否支持硬件加速;After the initialization is completed, the middle layer is further configured to determine whether the system on chip supports hardware acceleration;
    当所述片上系统支持硬件加速时,中间层,还配置为将所述图形数据和所述处理任务交由图形处理器进行绘制;When the system on chip supports hardware acceleration, the intermediate layer is further configured to submit the graphics data and the processing task to the graphics processor for drawing;
    中间层,还配置为从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The intermediate layer is further configured to obtain first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information ;
    中间层,还配置为将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The middle layer is further configured to carry the first response information in the call response, and return the call response to the application layer.
  5. 一种图形绘制方法,所述方法包括:A graphic drawing method, the method comprising:
    中间层接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;The middle layer receives a call request of the application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
    中间层响应所述调用请求,进行自身的初始化获得配置信息;The middle layer responds to the call request, performs its own initialization to obtain configuration information;
    在初始化完成之后,中间层判断片上系统是否支持硬件加速;After the initialization is completed, the middle layer determines whether the system on chip supports hardware acceleration;
    当所述片上系统支持硬件加速时,中间层将所述配置信息、所述图形数据和所述处理任务交由图形处理器进行绘制;When the system on chip supports hardware acceleration, the middle layer hands the configuration information, the graphics data, and the processing task to the graphics processor for drawing;
    中间层从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The intermediate layer obtains first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor successfully renders the graphic data by using the processing task and the configuration information;
    中间层将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The middle layer carries the first response information in the call response, and returns the call response to the application layer.
  6. 根据权利要求5所述的方法,其中,所述方法还包括:当所述片 上系统不支持硬件加速时,中间层将所述配置信息、所述图形数据和所述处理任务缓冲在帧缓冲设备;The method of claim 5, wherein the method further comprises: when the slice When the upper system does not support hardware acceleration, the middle layer buffers the configuration information, the graphic data, and the processing task in the frame buffer device;
    中间层从所述帧缓冲设备中获取第二响应信息,所述第二响应信息用于表明中央处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The intermediate layer obtains second response information from the frame buffering device, where the second response information is used to indicate whether the central processor successfully renders the graphic data by using the processing task and the configuration information;
    中间层将所述第二响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The middle layer carries the second response information in the call response, and returns the call response to the application layer.
  7. 根据权利要求5所述的方法,其中,所述中间层响应所述调用请求,进行自身的初始化获得配置信息,包括:The method according to claim 5, wherein the intermediate layer performs initialization of itself to obtain configuration information in response to the invoking request, including:
    中间层响应所述调用请求,中间层控制帧缓存设备获取视频输出单元VOU寄存器的配置信息,所述配置信息包括显示地址、显示分辨率。The middle layer controls the frame buffer device to obtain configuration information of the video output unit VOU register, and the configuration information includes a display address and a display resolution.
  8. 根据权利要求5至7任一项所述的方法,其中,在所述中间层将所述第一图形画面输出给帧缓冲设备中之前,所述方法还包括:The method according to any one of claims 5 to 7, wherein before the intermediate layer outputs the first graphics picture to the frame buffer device, the method further comprises:
    所述中间层对所述第一图形画面进行抗闪烁处理后,得到第三图形画面;对应地,所述中间层将所述第三图形画面输出给帧缓冲设备。After the intermediate layer performs anti-flicker processing on the first graphics picture, a third graphics picture is obtained; correspondingly, the intermediate layer outputs the third graphics picture to the frame buffer device.
  9. 一种中间层,所述中间层包括第一接收单元、初始化单元、判断单元、绘制单元、第一获取单元和输出单元,其中:An intermediate layer includes a first receiving unit, an initializing unit, a determining unit, a drawing unit, a first obtaining unit, and an output unit, wherein:
    所述第一接收单元,配置为接收应用层的调用请求,所述调用请求中携带有待绘制的图形数据和对所述图形数据对应的处理任务;The first receiving unit is configured to receive a call request of an application layer, where the call request carries graphic data to be drawn and a processing task corresponding to the graphic data;
    所述初始化单元,配置为响应所述调用请求,进行自身的初始化获得配置信息;The initialization unit is configured to perform initialization of itself to obtain configuration information in response to the call request;
    所述判断单元,配置为在初始化完成之后,判断片上系统是否支持硬件加速;The determining unit is configured to determine whether the system on chip supports hardware acceleration after the initialization is completed;
    所述绘制单元,配置为当所述片上系统支持硬件加速时,将所述配置信息、所述图形数据和所述处理任务交由图形处理器进行绘制; The drawing unit is configured to: when the system on chip supports hardware acceleration, submit the configuration information, the graphic data, and the processing task to a graphics processor for drawing;
    所述第一获取单元,配置为从所述图形处理器中获取第一响应信息,所述第一响应信息用于表明图形处理器是否利用所述处理任务和所述配置信息对所述图形数据进行绘制成功;The first obtaining unit is configured to acquire first response information from the graphics processor, where the first response information is used to indicate whether the graphics processor uses the processing task and the configuration information to the graphics data Successfully drawn;
    所述输出单元,配置为将所述第一响应信息携带于调用响应中,将所述调用响应返回给所述应用层。The output unit is configured to carry the first response information in a call response, and return the call response to the application layer.
  10. 一种嵌入式设备,所述嵌入式设备包括显示屏和片上系统,其中:所述片上系统包括中央处理器、图形处理器和帧缓冲设备,其中:An embedded device comprising a display screen and a system on chip, wherein: the system on a chip comprises a central processing unit, a graphics processor and a frame buffering device, wherein:
    中央处理器,配置为运行中间层;a central processing unit configured to run an intermediate layer;
    图形处理器,配置为从所述中间层中获取配置信息、待绘制的图形数据和与所述图形数据对应的处理任务;a graphics processor configured to acquire configuration information, graphics data to be drawn, and processing tasks corresponding to the graphics data from the intermediate layer;
    图形处理器,还配置为根据所述处理任务对所述图形数据进行绘制,得到第一图形画面,并将所述第一图形画面输出给帧缓冲设备;The graphics processor is further configured to: draw the graphics data according to the processing task, obtain a first graphics image, and output the first graphics image to a frame buffer device;
    帧缓冲设备,配置为所述中间层获取所述配置信息、所述图形数据和所述处理任务;a frame buffer device configured to acquire the configuration information, the graphic data, and the processing task by the intermediate layer;
    帧缓冲设备,还配置为缓冲所述配置信息、所述图形数据和所述处理任务;a frame buffer device, further configured to buffer the configuration information, the graphics data, and the processing task;
    中央处理器,还配置为从帧缓冲设备中获取所述配置信息、图形数据和所述处理任务,根据所述处理任务和所述配置信息对所述图形数据进行绘制,得到第二图形画面;The central processing unit is further configured to: acquire the configuration information, the graphic data, and the processing task from the frame buffer device, and draw the graphic data according to the processing task and the configuration information to obtain a second graphic image;
    帧缓冲设备,还配置为从所述中央处理器获取第二图形画面,并将所述第二图形画面输出;a frame buffer device, configured to acquire a second graphics screen from the central processor, and output the second graphics screen;
    所述显示屏,配置为显示第一图形画面或第二图形画面。The display screen is configured to display a first graphic picture or a second graphic picture.
  11. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行权利要求5至8任一项所述的图形绘制方法。 A computer storage medium having stored therein computer executable instructions for performing the graphics rendering method of any one of claims 5 to 8.
PCT/CN2016/077924 2015-06-29 2016-03-30 System on chip, graphic plotting method, intermediate layer, embedded device and medium WO2017000605A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510368425.2A CN106326186B (en) 2015-06-29 2015-06-29 A system-on-chip, graphics rendering method, middle layer and embedded device
CN201510368425.2 2015-06-29

Publications (1)

Publication Number Publication Date
WO2017000605A1 true WO2017000605A1 (en) 2017-01-05

Family

ID=57607650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/077924 WO2017000605A1 (en) 2015-06-29 2016-03-30 System on chip, graphic plotting method, intermediate layer, embedded device and medium

Country Status (2)

Country Link
CN (1) CN106326186B (en)
WO (1) WO2017000605A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108283804A (en) * 2017-12-28 2018-07-17 天脉聚源(北京)科技有限公司 A kind of image processing method and device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107067453A (en) * 2017-03-10 2017-08-18 珠海研果科技有限公司 A kind of MiniGUI based on linux system is drawn draws the method shown simultaneously with GPU
CN112379875B (en) * 2020-11-13 2024-11-12 武汉蓝星科技股份有限公司 A method for data interaction between TD GUIE graphics system and QT graphics rendering library

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545682A (en) * 2002-04-25 2004-11-10 ���µ�����ҵ��ʽ���� image processing device
CN1798384A (en) * 2004-12-30 2006-07-05 Lg电子株式会社 Apparatus and method for enhancing image quality of a mobile communication terminal
CN1924840A (en) * 2005-08-29 2007-03-07 株式会社东芝 Information processing apparatus and system control method
US20120293519A1 (en) * 2011-05-16 2012-11-22 Qualcomm Incorporated Rendering mode selection in graphics processing units
CN102880587A (en) * 2012-10-09 2013-01-16 无锡江南计算技术研究所 Embedded accelerating core based independent graphics card architecture
US20150006925A1 (en) * 2013-07-01 2015-01-01 Advanced Micro Devices, Inc. Allocating power to compute units based on energy efficiency

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1687732A4 (en) * 2003-11-19 2008-11-19 Lucid Information Technology Ltd Method and system for multiple 3-d graphic pipeline over a pc bus
KR102109130B1 (en) * 2013-08-12 2020-05-08 삼성전자주식회사 Graphics processing unit, method thereof, and devices having the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545682A (en) * 2002-04-25 2004-11-10 ���µ�����ҵ��ʽ���� image processing device
CN1798384A (en) * 2004-12-30 2006-07-05 Lg电子株式会社 Apparatus and method for enhancing image quality of a mobile communication terminal
CN1924840A (en) * 2005-08-29 2007-03-07 株式会社东芝 Information processing apparatus and system control method
US20120293519A1 (en) * 2011-05-16 2012-11-22 Qualcomm Incorporated Rendering mode selection in graphics processing units
CN102880587A (en) * 2012-10-09 2013-01-16 无锡江南计算技术研究所 Embedded accelerating core based independent graphics card architecture
US20150006925A1 (en) * 2013-07-01 2015-01-01 Advanced Micro Devices, Inc. Allocating power to compute units based on energy efficiency

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108283804A (en) * 2017-12-28 2018-07-17 天脉聚源(北京)科技有限公司 A kind of image processing method and device

Also Published As

Publication number Publication date
CN106326186A (en) 2017-01-11
CN106326186B (en) 2019-04-30

Similar Documents

Publication Publication Date Title
US10535186B2 (en) Multi-resolution deferred shading using texel shaders in computing environments
US9990690B2 (en) Efficient display processing with pre-fetching
US10559112B2 (en) Hybrid mechanism for efficient rendering of graphics images in computing environments
JP2018512644A (en) System and method for reducing memory bandwidth using low quality tiles
US10825129B2 (en) Eliminating off screen passes using memoryless render target
CN112017101B (en) Variable Rasterization Rate
US20170154403A1 (en) Triple buffered constant buffers for efficient processing of graphics data at computing devices
US20170140570A1 (en) Facilitating efficeint centralized rendering of viewpoint-agnostic graphics workloads at computing devices
KR20170132758A (en) Hybrid 2d/3d graphics rendering
US20170169537A1 (en) Accelerated touch processing in computing environments
CN105321142A (en) Sampling, fault management, and/or context switching via a computer pipeline
CN112686797A (en) Target frame data acquisition method and device for GPU (graphics processing Unit) function verification and storage medium
WO2017000605A1 (en) System on chip, graphic plotting method, intermediate layer, embedded device and medium
US9148544B2 (en) System, process, and computer program product for implementing a document scanner in a hand-held device
EP3284058A1 (en) Supporting multi-level nesting of command buffers in graphics command streams at computing devices
US10002405B2 (en) Smart optimization of unused graphics buffer memory in computing environments
WO2017200672A1 (en) Triangle rendering mechanism
JP2018503919A (en) Graphics processing unit with Bayer mapping
US10678553B2 (en) Pro-active GPU hardware bootup
US9251557B2 (en) System, method, and computer program product for recovering from a memory underflow condition associated with generating video signals
KR102645239B1 (en) GPU kernel optimization with SIMO approach for downscaling using GPU cache
US20240412711A1 (en) Display mask layer generation and runtime adjustment
US20180261187A1 (en) Facilitating efficient detection of patterns in graphics display streams prior to their display at computing devices
CN119768837A (en) Visual quality improvements for GPU compositing
CN119768835A (en) Synthesis for layer ROI processing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16816970

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16816970

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载