WO2019071600A1 - Image processing method and apparatus - Google Patents

Image processing method and apparatus Download PDF

Info

Publication number
WO2019071600A1
WO2019071600A1 PCT/CN2017/106153 CN2017106153W WO2019071600A1 WO 2019071600 A1 WO2019071600 A1 WO 2019071600A1 CN 2017106153 W CN2017106153 W CN 2017106153W WO 2019071600 A1 WO2019071600 A1 WO 2019071600A1
Authority
WO
WIPO (PCT)
Prior art keywords
rendering
image frame
command queue
image processing
unit
Prior art date
Application number
PCT/CN2017/106153
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 华为技术有限公司
Priority to CN201780066411.2A priority Critical patent/CN109891388A/en
Priority to PCT/CN2017/106153 priority patent/WO2019071600A1/en
Publication of WO2019071600A1 publication Critical patent/WO2019071600A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Definitions

  • the embodiments of the present invention relate to the field of image processing technologies, and in particular, to an image processing method and apparatus.
  • the terminal device For each image frame in the video, the terminal device performs frame processing (ie, calculation), rendering, and display of these three tasks.
  • the existing terminal device serially performs a computing task and a rendering task.
  • the terminal device performs a computing task and a rendering task on the Pth (P ⁇ 1) image frames
  • the P+1th image frame is further performed.
  • the rate at which the terminal device processes the image frames is lower.
  • the present application provides an image processing method and apparatus, which can solve the problem that a rate at which a terminal device processes an image frame is low.
  • an image processing method in a first aspect, the image processing apparatus acquiring a first rendering command queue including a plurality of rendering commands corresponding to the Nth (N ⁇ 1) image frames, and including the N+1th image frame After the calculation command queue of the corresponding multiple calculation commands, the Nth image frame is rendered according to the first rendering command queue, and in the process of rendering the Nth image frame, the N+1 is calculated according to the second calculation command queue. All pixels of an image frame.
  • the image processing apparatus in the embodiment of the present application separates the rendering task from the computing task, and in the process of rendering the Nth image frame, calculates all the pixels of the N+1th image frame, and realizes the parallel of the rendering task and the computing task. Execution effectively increases the rate at which the image processing device processes image frames.
  • the image processing apparatus in the method for processing an image frame by the image processing apparatus, the image processing apparatus further acquires a parallel processing message, where the parallel processing message is used to notify that the Nth image is being rendered. During the frame, all pixels of the N+1th image frame are calculated.
  • the method of “retrieving the Nth image frame according to the first rendering command queue and calculating all the pixels of the N+1th image frame according to the second calculation command queue” is specifically: the image processing apparatus adopts the first thread.
  • the image processing apparatus runs the first thread and the second thread in parallel.
  • the image processing device uses the first thread to complete the rendering task, and uses the second thread to complete the computing task. Under the action of the parallel processing message, the image processing device realizes the calculation of the N+1th image frame in the process of rendering the Nth image frame. All pixels.
  • the image processing apparatus after acquiring the first rendering command queue, the image processing apparatus further calculates a feature value of the first rendering command queue according to a preset algorithm, and stores the first A feature value that renders the command queue.
  • N>1 “the image processing apparatus according to the first rendering command queue
  • the method of rendering the Nth image frame is: when the image processing apparatus determines that the feature value of the first rendering command queue is equal to the feature value of the stored target rendering command queue, acquiring the stored Xth corresponding to the target rendering command queue ( N>X ⁇ 1) the rendering result of the image frames, and rendering the Nth image frame according to the rendering result of the Xth image frame.
  • the target rendering command queue includes a plurality of corresponding to the Xth image frame.
  • the Nth image frame is overlapped with the Xth image frame, so that the image processing apparatus directly renders the Nth image frame according to the rendering result of the Xth image frame, without further according to the first rendering command.
  • Each rendering command in the queue renders the Nth image frame, reducing the hardware resources used in image rendering and reducing the power consumption of the image processing device.
  • the image processing apparatus may determine, according to the feature value of the rendering command queue, whether the image frames corresponding to the two rendering command queues are repeated. After calculating the feature value of the first rendering command queue, the image processing device stores the feature value of the first rendering command queue to facilitate determining whether the subsequent image frame is repeated with the Nth image frame.
  • the image processing apparatus further stores a rendering result of the Nth image frame after the Nth image frame is rendered.
  • the image processing apparatus may render the image frame with reference to the rendering result of the stored Nth image frame.
  • an image processing apparatus comprising an acquisition unit, a rendering unit, and a computing unit.
  • the acquiring unit is configured to acquire a first rendering command queue, where the first rendering command queue includes multiple rendering commands corresponding to the Nth image frame, N ⁇ 1, and is used to obtain a first computing command queue,
  • a calculation command queue includes a plurality of calculation commands corresponding to the (N+1)th image frame.
  • the rendering unit is configured to render the Nth image frame according to the first rendering command queue acquired by the acquiring unit.
  • the calculating unit is configured to calculate, in the process of rendering the Nth image frame by the rendering unit, all the pixels of the (N+1)th image frame according to the second calculation command queue acquired by the acquiring unit.
  • the acquiring unit is further configured to acquire a parallel processing message, where the parallel processing message is used to notify that, in the process of rendering the Nth image frame, calculate the N+1th All pixels of the image frame.
  • the rendering unit is specifically configured to execute a rendering command included in the first rendering command queue by using the first thread to render the Nth image frame.
  • the calculating unit is specifically configured to execute, by using the second thread, a calculation command response included in the first calculation command queue, calculate an N+1th image frame, and specifically, in response to the parallel processing message acquired by the acquiring unit, in the foregoing rendering In the process of rendering the Nth image frame by the unit, all pixels of the N+1th image frame are calculated.
  • the calculating unit is specifically configured to calculate, according to a preset algorithm, a feature value of the first rendering command queue acquired by the acquiring unit.
  • the image processing apparatus provided by the embodiment of the present application further includes a storage unit, configured to store a feature value of the first rendering command queue calculated by the calculating unit.
  • the image processing apparatus provided by the embodiment of the present application further includes a determining unit, configured to determine that the feature value of the first rendering command queue calculated by the calculating unit is equal to the stored first value, and the first value is a target rendering command queue.
  • the feature value, the target rendering command queue includes a plurality of rendering commands corresponding to the Xth image frame, N>X ⁇ 1.
  • the obtaining unit is further configured to acquire a rendering result of the stored Xth image frame.
  • the rendering unit is specifically configured to be used according to the rendering result of the Xth image frame acquired by the acquiring unit. Render the Nth image frame.
  • the image processing apparatus provided by the embodiment of the present application further includes a storage unit, configured to store the Nth after the rendering unit renders the Nth image frame. The rendering result of the image frames.
  • an image processing apparatus comprising: one or more processors, a memory, and a communication interface.
  • the memory, communication interface is coupled to one or more processors via a system bus.
  • the image processing device communicates with other devices through a communication interface.
  • the memory is for storing computer program code, the computer program code comprising instructions, when the one or more processors execute the instructions stored in the memory, the image processing apparatus performs the image processing method as described in the first aspect above and any possible implementation thereof .
  • a computer storage medium having stored therein computer program code.
  • the processor of the image processing apparatus in the third aspect executes the computer program code, the image processing apparatus performs the image processing method as in the first aspect described above and any possible implementation thereof.
  • a computer program product comprising instructions which, when run on an image processing device, cause the image processing device to perform an image processing method as in the first aspect described above and any one of its possible implementations.
  • the name of the above image processing apparatus is not limited to the device or the function module itself. In actual implementation, these devices or function modules may appear under other names. As long as the functions of the respective devices or functional modules are similar to the present application, they are within the scope of the claims and their equivalents.
  • FIG. 1 is a schematic flow chart of a method for processing an image frame by a GPU in the prior art
  • FIG. 2 is a schematic structural diagram of hardware of a mobile phone according to an embodiment of the present application.
  • FIG. 3 is a schematic flowchart diagram of an image processing method according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic flowchart of a method for processing an image frame by a GPU according to an embodiment of the present application
  • FIG. 5 is a schematic structural diagram 1 of an image processing apparatus according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram 2 of an image processing apparatus according to an embodiment of the present disclosure.
  • the words “exemplary” or “such as” are used to mean an example, illustration, or illustration. Any embodiment or design described as “exemplary” or “for example” in the embodiments of the present application should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the words “exemplary” or “such as” is intended to present the concepts in a particular manner.
  • the terminal device For each image frame in the video, the terminal device performs three tasks of calculating, rendering, and displaying. Specifically, a graphics processing unit (Graphics Processing Unit, built in the terminal device) The GPU) performs computational tasks as well as rendering tasks and displays the rendered image frames on the display.
  • a graphics processing unit Graphics Processing Unit, built in the terminal device
  • the GPU performs computational tasks as well as rendering tasks and displays the rendered image frames on the display.
  • terminal devices serially perform computational tasks and rendering tasks.
  • the GPU in the terminal device performs the calculation task of the Pth (P ⁇ 1) image frames
  • the rendering task of the Pth image frame is performed; and the rendering of the Pth image frame is performed.
  • the GPU performs the calculation task of the P+1th image frame
  • the GPU performs the rendering task of the P+1th image frame
  • the GPU performs the rendering task of the P+1th image frame
  • the GPU performs the rendering task of the last image frame. It can be seen that in a scenario including a large number of image frames, the rate at which the terminal device in the method processes the image frame is relatively large.
  • the terminal device in the above method needs to re-execute the computing task and the rendering task, further reducing the processed image frame.
  • the rate, and the power consumption of the terminal device is large.
  • the image processing device separates the computing task from the rendering task, and the parallel computing processing task and the rendering task.
  • the image processing apparatus calculates all the pixels of the (N+1)th image frame in the process of rendering the Nth image frame, effectively improving the rate of processing the image frame.
  • the image processing apparatus in the embodiment of the present application may be a mobile phone, an augmented reality (AR), a virtual reality (VR) device, a tablet computer, a notebook computer, or a super mobile personal computer (UMP).
  • Any terminal device such as a netbook or a personal digital assistant (PDA).
  • PDA personal digital assistant
  • the image processing apparatus in the embodiment of the present application may be the mobile phone 100.
  • the embodiment will be specifically described below by taking the mobile phone 100 as an example. It should be understood that the illustrated mobile phone 100 is only one example of the image processing device described above, and the mobile phone 100 may have more or fewer components than those shown in the figures, and two or more components may be combined. Or it can have different component configurations.
  • the mobile phone 100 may specifically include: a processor 101, a radio frequency (RF) circuit 102, a memory 103, a touch screen 104, a Bluetooth device 105, one or more sensors 106, a Wi-Fi device 107, and positioning.
  • Components such as device 108, audio circuit 109, peripheral interface 110, and power system 111. These components can communicate over one or more communication buses or signal lines (not shown in Figure 2). It will be understood by those skilled in the art that the hardware structure shown in FIG. 2 does not constitute a limitation to the mobile phone, and the mobile phone 100 may include more or less components than those illustrated, or some components may be combined, or different component arrangements.
  • the processor 101 is a control center of the mobile phone 100, and connects various parts of the mobile phone 100 by using various interfaces and lines, and executes the mobile phone 100 by running or executing an application stored in the memory 103 and calling data stored in the memory 103.
  • processor 101 can include one or more processing units.
  • the processor 101 can integrate an application processor and a modem processor.
  • the application processor mainly processes an operating system, a user interface, an application, and the like; the modem processor mainly processes wireless communication.
  • the above modulation and demodulation processor and the application processor may also be independently set.
  • the processor 101 may include a GPU 115 and a central processing unit (Central)
  • the processing unit (CPU) 116 may also be a combination of the GPU 115, the CPU 116, the digital signal processing (DSP), and a control chip (for example, a baseband chip) in the communication unit.
  • both the GPU 115 and the CPU 116 may be a single operation core, and may also include multiple operation cores.
  • the GPU 115 is a microprocessor that performs image computing operations on personal computers, workstations, game consoles, and some mobile devices (such as tablets, smart phones, etc.). It can convert the display information required by the mobile phone 100 and provide a line scan signal to the display 104-2 to control the correct display of the display 104-2.
  • the mobile phone 100 may send a corresponding drawing command to the GPU 115.
  • the drawing command may be “drawing a rectangle having a length and a width of a ⁇ b at the coordinate position (x, y).
  • the GPU 115 can quickly calculate all the pixels of the graphic according to the drawing instruction, and draw corresponding graphics on the specified position on the display 104-2.
  • the GPU 115 may be integrated in the processor 101 in the form of a functional module, or may be disposed in the mobile phone 100 in a separate physical form (for example, a video card), which is not limited in this embodiment.
  • the GPU 115 performs computational tasks and rendering tasks for image frames.
  • the GPU 115 in the embodiment of the present application includes multiple Stream Processor (SM) units.
  • the SM unit is mainly used to process data transmitted by the CPU and convert the processed data into a digital signal that the display 104-2 can recognize. That is to say, the SM unit in the GPU 115 completes the calculation task and the rendering task of the image frame.
  • the image processing apparatus in the embodiment of the present application uses an idle SM unit to render the Nth image frame, and in the process of rendering the Nth image frame, uses another idle SM unit to calculate the N+1th image frame. All pixels, separation between computational tasks and rendering tasks, and parallel processing, effectively increase the rate at which image frames are processed.
  • the radio frequency circuit 102 can be used to receive and transmit wireless signals during transmission or reception of information or calls.
  • the radio frequency circuit 102 can process the downlink data of the base station and then process it to the processor 101; in addition, transmit the data related to the uplink to the base station.
  • radio frequency circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • the radio frequency circuit 102 can also communicate with other devices through wireless communication.
  • the wireless communication can use any communication standard or protocol, including but not limited to global mobile communication systems, general packet radio services, code division multiple access, wideband code division multiple access, long term evolution, email, short message service, and the like.
  • the memory 103 is used to store applications and data, and the processor 101 executes various functions and data processing of the mobile phone 100 by running applications and data stored in the memory 103.
  • the memory 103 mainly includes a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.); the storage data area can be stored according to the use of the mobile phone. Data created at 100 o'clock (such as audio data, phone book, etc.).
  • the memory 103 may include high speed random access memory (RAM), and may also include nonvolatile memory such as a magnetic disk storage device, a flash memory device, or other volatile solid state storage device.
  • the memory 103 can store various operating systems, for example, developed by Apple. Operating system, developed by Google Inc. Operating system, etc.
  • the above memory 103 may be independent and connected to the processor 101 via the above communication bus; the memory 103 may also be integrated with the processor 101.
  • the touch screen 104 may specifically include a touch panel 104-1 and a display 104-2.
  • the touch panel 104-1 can collect touch events on or near the user of the mobile phone 100 (for example, the user uses any suitable object such as a finger, a stylus, or the like on the touch panel 104-1 or on the touchpad 104.
  • the operation near -1), and the collected touch information is sent to other devices (for example, processor 101).
  • the touch event of the user in the vicinity of the touch panel 104-1 may be referred to as a hovering touch; the hovering touch may mean that the user does not need to directly touch the touchpad in order to select, move or drag a target (eg, an icon, etc.) Instead, just the user is near the phone to perform the desired function.
  • the touch panel 104-1 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • a display (also referred to as display) 104-2 can be used to display information entered by the user or information provided to the user as well as various menus of the mobile phone 100.
  • the display 104-2 can be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
  • the touchpad 104-1 can be overlaid on the display 104-2, and when the touchpad 104-1 detects a touch event on or near it, it is transmitted to the processor 101 to determine the type of touch event, and then the processor 101 may provide a corresponding visual output on display 104-2 depending on the type of touch event.
  • the touchpad 104-1 and the display 104-2 are implemented as two separate components to implement the input and output functions of the handset 100, in some embodiments, the touchpad 104- 1 is integrated with the display screen 104-2 to implement the input and output functions of the mobile phone 100. It is to be understood that the touch screen 104 is formed by stacking a plurality of layers of materials. In the embodiment of the present application, only the touch panel (layer) and the display screen (layer) are shown, and other layers are not described in the embodiment of the present application. .
  • the touch panel 104-1 may be disposed on the front surface of the mobile phone 100 in the form of a full-board
  • the display screen 104-2 may also be disposed on the front surface of the mobile phone 100 in the form of a full-board, so that the front of the mobile phone can be borderless. Structure.
  • the mobile phone 100 may also have a fingerprint recognition function.
  • the fingerprint recognition collector 112 can be configured on the back of the handset 100 (eg, below the rear camera) or the fingerprint collector 112 can be configured on the front side of the handset 100 (eg, below the touch screen 104).
  • the fingerprint collector 112 can be configured in the touch screen 104 to implement the fingerprint recognition function, that is, the fingerprint collector 112 can be integrated with the touch screen 104 to implement the fingerprint recognition function of the mobile phone 100.
  • the fingerprint collector 112 is disposed in the touch screen 104, may be part of the touch screen 104, or may be otherwise disposed in the touch screen 104.
  • the main component of the fingerprint collector 112 in the embodiment of the present application is a fingerprint sensor, which can employ any type of sensing technology, including but not limited to optical, capacitive, piezoelectric or ultrasonic sensing technologies.
  • the mobile phone 100 can also include a Bluetooth device 105 for enabling data exchange between the handset 100 and other short-range terminal devices (eg, mobile phones, smart watches, etc.).
  • the Bluetooth device in the embodiment of the present application may be an integrated circuit or a Bluetooth chip or the like.
  • the handset 100 can also include at least one type of sensor 106, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display of the touch screen 104 according to the brightness of the ambient light, and the proximity sensor may turn off the power of the display when the mobile phone 100 moves to the ear.
  • the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetic (statue calibration), vibration recognition related functions (such as pedometer, tapping), etc.; other sensors such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., which can be configured in the mobile phone 100, are not described here.
  • the Wi-Fi device 107 is configured to provide the mobile phone 100 with network access complying with the Wi-Fi related standard protocol, and the mobile phone 100 can access the Wi-Fi access point through the Wi-Fi device 107, thereby helping the user to send and receive emails, Browsing web pages and accessing streaming media, etc., it provides users with wireless broadband Internet access.
  • the Wi-Fi device 107 can also function as a Wi-Fi wireless access point, and can provide Wi-Fi network access to other terminal devices.
  • the positioning device 108 is configured to provide a geographic location for the mobile phone 100. It can be understood that the positioning device 108 can be specifically a receiver of a positioning system such as a Global Positioning System (GPS) or a Beidou satellite navigation system, or a Russian GLONASS. After receiving the geographical location transmitted by the positioning system, the positioning device 108 sends the information to the processor 101 for processing, or sends it to the memory 103 for storage. In some other embodiments, the positioning device 108 can also be a receiver of an Assisted Global Positioning System (AGPS), which assists the positioning device 108 in performing ranging and positioning services by acting as an auxiliary server.
  • AGPS Assisted Global Positioning System
  • the secondary location server provides location assistance over the wireless communication network in communication with the terminal device (e.g., the location device 108 of the handset 100, i.e., the GPS receiver).
  • the positioning device 108 can also be a Wi-Fi access point based positioning technology. Since each Wi-Fi access point has a globally unique Media Access Control (MAC) address, the phone can scan and collect the surrounding Wi-Fi access points when Wi-Fi is turned on. The broadcast signal, so the MAC address broadcasted by the Wi-Fi access point can be obtained; the mobile phone sends the data (such as the MAC address) capable of indicating the Wi-Fi access point to the location server through the wireless communication network, and is retrieved by the location server. The geographic location of each Wi-Fi access point, combined with the strength of the Wi-Fi broadcast signal, calculates the geographic location of the mobile phone and sends it to the location device 108 of the handset.
  • MAC Media Access Control
  • the audio circuit 109, the speaker 113, and the microphone 114 can provide an audio interface between the user and the handset 100.
  • the audio circuit 109 can transmit the converted electrical data of the received audio data to the speaker 113 for conversion to the sound signal output by the speaker 113; on the other hand, the microphone 114 converts the collected sound signal into an electrical signal by the audio circuit 109. After receiving, it is converted into audio data, and then the audio data is output to the RF circuit 102 for transmission to, for example, another mobile phone, or the audio data is output to the memory 103 for further processing.
  • the peripheral interface 110 is used to provide various interfaces for external input/output devices (such as a keyboard, a mouse, an external display, an external memory, a subscriber identity module card, etc.). For example, it is connected to the mouse through a Universal Serial Bus (USB) interface, and is connected to a Subscriber Identity Module (SIM) card provided by the service provider through a metal contact on the card slot of the subscriber identity module. . Peripheral interface 110 can be used to couple the external input/output peripherals described above to processor 101 and memory 103.
  • USB Universal Serial Bus
  • SIM Subscriber Identity Module
  • the mobile phone 100 may further include a power supply device 111 (such as a battery and a power management chip) that supplies power to the various components.
  • the battery may be logically connected to the processor 101 through the power management chip to manage charging, discharging, and power management through the power supply device 111. And other functions.
  • the mobile phone 100 may further include a camera (front camera and/or rear camera), A flash lamp, a micro projection device, a Near Field Communication (NFC) device, and the like are not described herein.
  • a camera front camera and/or rear camera
  • a flash lamp a flash lamp
  • a micro projection device a micro projection device
  • NFC Near Field Communication
  • the image processing method includes:
  • the image processing apparatus acquires a sequence of image frames to be processed during the running of the target application.
  • the target application may be any application installed in the image processing device that relies on the GPU for image calculation.
  • the target application may be downloaded from the third-party application market, and may also be an application that is provided by the image processing device system, which is not specifically limited in this embodiment of the present application.
  • the target application is AutoCAD (Auto Computer Aided Design), 3Ds Max (3D Studio Max), Pro/Engineer or video player.
  • the sequence of image frames to be processed includes a plurality of image frames to be processed.
  • the image processing apparatus may directly acquire all the image frames to be processed included in the image frame sequence to be processed, and may also process each image frame to be processed in the image frame sequence in real time. This is not specifically limited.
  • the target application is a live video player
  • the content that the live video player needs to present to the user includes a character shape, an environment background, and the like.
  • the image processing device renders different image frames by Express these elements. Since the live video is displayed in a frame manner, the image processing apparatus needs to acquire each image frame to be processed in real time.
  • the image processing apparatus sequentially generates a calculation command queue and a rendering command queue of each image frame to be processed in the image sequence to be processed.
  • the image processing apparatus After acquiring the image frame to be processed, the image processing apparatus puts all the calculation commands of the image frame to be processed into the calculation command queue of the first preset type, and the image to be processed
  • the frame is that all rendering commands are placed in the rendering command queue of the second preset type, so that the calculation command queue and the rendering command queue of the image frame to be processed can be generated.
  • the image processing apparatus can acquire each image frame to be processed in real time, or directly acquire all the image frames to be processed included in the sequence of image frames to be processed. Regardless of which of the above manners the image processing apparatus acquires the image frame to be processed, the image processing apparatus generates a calculation command queue and a rendering command queue for each image frame to be processed in the order of the time at which the image frames to be processed are acquired.
  • the CPU running the target application in the image processing apparatus generates a calculation command queue and a rendering command queue for each image frame to be processed.
  • the CPU sends the calculation command queue and the rendering command queue of the image frame to be processed to the GPU in the image processing apparatus.
  • the GPU can calculate all the pixels of the image frame to be processed according to the obtained calculation command queue, and the GPU renders the image frame to be processed according to the obtained rendering command queue, and displays it on the display of the image processing apparatus.
  • the image frame to be processed after rendering is the same as the image frame to be processed.
  • the embodiment of the present application is described by taking a GPU to acquire a first calculation command queue and a first rendering command queue as an example.
  • the first rendering command queue includes a plurality of rendering commands corresponding to the Nth image frame, N>1.
  • the first calculation command queue includes a plurality of calculation commands corresponding to the (N+1)th image frame.
  • the Nth image frame and the (N+1)th image frame are both the image frames to be processed described above.
  • the GPU of the image processing apparatus executes the rendering command included in the first rendering command queue by using the first thread to render the Nth image frame.
  • an idle SM unit (referred to as: the first SM unit) in the GPU of the image processing apparatus uses a first thread to execute a rendering command included in the first rendering command queue to complete a rendering task of the Nth image frame. Implement the rendering of the Nth image frame.
  • the method for the first SM unit to render the Nth image frame is: the first SM unit first calculates a feature value of the first rendering command queue according to a preset algorithm; and then, the first SM unit determines whether the local storage unit stores The feature values of other render command queues whose feature values of the first render command queue are equal.
  • the target rendering command queue includes multiple corresponding to the Xth (N>X ⁇ 1) image frames.
  • the rendering command indicates that the Nth image frame is overlapped with the Xth image frame, and the first SM unit can directly render the Nth image frame by using the rendering result of the X image frames, and the rendering result may include texture information and shadow information. Wait.
  • the first SM unit locally obtains a rendering result of the Xth (N>X ⁇ 1) image frames corresponding to the target rendering command queue, and renders the Nth image frame according to the rendering result of the X image frames.
  • the process of rendering the Nth image frame does not need to occupy additional hardware resources, which can reduce the hardware resources used in image rendering and reduce the power consumption of the image processing device.
  • the value indicates that the Nth image frame is changed compared to the previous image frame, and the first SM unit calls all rendering commands in the first rendering command queue to render the Nth image frame.
  • the process of rendering the Nth image frame requires additional hardware resources such as memory, memory, and the like.
  • the feature value of the rendering command queue in the embodiment of the present application may be a Secure Hash Algorithm (SHA) value of the rendering command queue.
  • SHA Secure Hash Algorithm
  • the image processing apparatus in the embodiment of the present application calculates the feature value of the first rendering command queue, that is, the image processing device calculates the SHA value of the first rendering command queue.
  • the method for the image processing apparatus to calculate the SHA value of the first rendering command queue is: the first SM unit determines the first rendering command queue by calculating a stored SHA value of the plurality of rendering commands in the first rendering command queue. SHA value.
  • the first SM unit may directly obtain the same target command queue as the first rendering command queue from the local storage, and directly compare the Xth image corresponding to the target command queue with the command in the first rendering command queue.
  • the rendering result of the frame is the result of rendering the Nth image frame.
  • the image processing device further stores the rendering result of the Nth image frame, which is convenient for rendering the subsequent repeated image frame.
  • the GPU in the image processing apparatus uses a second thread to execute a calculation command response included in the first calculation command queue, and calculates an N+1th image frame.
  • Another idle SM unit (abbreviated as: the second SM unit) in the GPU of the image processing apparatus executes the calculation command response included in the first calculation command queue by using the second thread, and calculates the N+1th image frame.
  • the image processing apparatus acquires a parallel processing message, where the line processing message is used to notify that all pixels of the (N+1)th image frame are calculated in the process of rendering the Nth image frame.
  • the CPU further generates and Line processing messages. After generating the parallel processing message, the CPU sends the parallel processing message to the GPU.
  • the GPU in the image processing apparatus responds to the parallel processing message, and runs the first thread and the second thread in parallel.
  • the first SM unit and the second SM unit respond to the parallel processing message, so that the N+1th image frame is calculated during the process of rendering the Nth image frame. All pixels.
  • FIG. 4 shows a flow of processing an image frame by the image processing apparatus in the embodiment of the present application.
  • the GPU in the prior art performs the computing task and the rendering task serially, and the next image frame can be processed only after the current image frame is rendered.
  • the GPU in the embodiment of the present application can calculate all pixels of the N+1th image frame.
  • the image processing apparatus provided by the embodiment of the present application processes the image frame more efficiently.
  • the GPU in the embodiment of the present application can directly render the repeated image frames according to the stored rendering results, reduce hardware resources occupied during image rendering, and reduce power consumption of the image processing apparatus.
  • An embodiment of the present application provides an image processing apparatus for performing the steps performed by the image processing apparatus in the above image processing method.
  • the image processing apparatus provided by the embodiment of the present application may include a module corresponding to the corresponding step.
  • the embodiment of the present application may divide the function module into the image processing device according to the above method example.
  • each function module may be divided according to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and may be further divided in actual implementation.
  • FIG. 5 shows a possible structural diagram of the image processing apparatus involved in the above embodiments.
  • the image processing apparatus includes an acquisition unit 501, a calculation unit 502, a rendering unit 503, a storage unit 504, and a determination unit 505.
  • the obtaining unit 501 is configured to support the image processing apparatus to execute S300, S301, and S304 in FIG. 3; the calculating unit 502 is configured to support the image processing apparatus to execute S303 in FIG. 3; and the rendering unit 503 is configured to support the image processing apparatus to perform the image processing apparatus in FIG. S302; the storage unit 504 is configured to support the image processing device to store the rendering result of the rendered image frame, and is further configured to support the image processing device to store the SHA value of the rendering command queue of the rendered image frame; the determining unit 505 is configured to support the image processing device It is determined whether the feature value of the other rendering command queues having the same feature value as the first rendering command queue is stored locally. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional descriptions of the corresponding functional modules, and details are not described herein again.
  • FIG. 6 shows a possible structural diagram of the image processing apparatus involved in the above embodiment.
  • the image processing apparatus includes a processing module 60 and a communication module 61.
  • the processing module 60 is configured to control and manage the actions of the image processing apparatus.
  • the processing module 60 is configured to support the image processing apparatus to perform S301 to S305 in FIG. 3, and/or other techniques for the techniques described in the present application. process.
  • the communication module 61 is for supporting communication of the image processing apparatus with an external device.
  • the communication module 61 is for supporting the image processing apparatus to execute S300 in FIG.
  • the processing module 60 in the embodiment of the present application may be a processor or a controller, and may be, for example, a CPU, a GPU, or a DSP. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the communication module 61 in the embodiment of the present application may be a Bluetooth module for interacting with external devices, and may further include an RF circuit corresponding to the Bluetooth module.
  • the RF circuit is used to receive and transmit signals during the transmission or reception of information or during a call.
  • the communication module 61 in the embodiment of the present application may also be a communication interface for interacting with external devices, the full name of the English: Communication Interface.
  • the communication module may include two communication interfaces, a transmission interface for transmitting data to an external device and a receiving interface for receiving data from the external device, that is, the image processing device may implement data through two different communication interfaces respectively. The receipt and transmission of data.
  • the communication module 61 can integrate the data receiving function and the data transmitting function on a communication interface having a data receiving function and a data transmitting function.
  • the communication interface can be integrated on a Bluetooth chip or an NFC chip.
  • the communication module 61 in the embodiment of the present application may also be a transceiver or a transceiver circuit or the like.
  • the image processing apparatus may further include an input module 62 for implementing interaction between the user and the image processing apparatus.
  • the input module 62 can receive numeric or character information input by the user to generate a signal input related to user setting or function control.
  • the input module 62 may be a touch panel, or may be other human-computer interaction interfaces, such as physical input keys, microphones, etc., and may also be other external information capture devices, such as cameras.
  • the physical input keys employed by the input module 62 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.).
  • the input module 62 in the form of a microphone can collect the voice input by the user or the environment and convert it into a command executable by the processing module 60 in the form of an electrical signal.
  • the image processing apparatus may further include an output module 63 for implementing interaction between the user and the image processing apparatus.
  • the output module 63 includes, but is not limited to, an image output module and a sound output module.
  • the image output module is used to output text, pictures and/or video.
  • the image output module may include a display panel, such as a liquid crystal display (LCD), an organic light-emitting diode (OLED), a field emission display (FED), or the like. Display panel.
  • the image output module may include a single display panel or a plurality of display panels of different sizes.
  • the touch panel used by the input module 62 can also serve as the display panel of the output module 63.
  • the touch panel detects a touch or proximity gesture operation thereon, it is transmitted to the processing module 60 to determine the type of the touch event, and then the processing module 60 provides a corresponding visual output on the display panel according to the type of the touch event. .
  • the input module 62 and the output module 63 can function as two separate components to implement the input and output functions of the image processing apparatus, but in some embodiments, the input module 62 can be integrated with the output module 63.
  • the input and output functions of the image processing apparatus are implemented (the input module 62 and the output module 63 are included in a broken line frame as shown in FIG. 6 to indicate that the input module 62 and the output module 63 are integrated into one body).
  • the image processing apparatus in the embodiment of the present application further includes a storage module 64, configured to store the rendered
  • the rendering result of the image frame is also used to support the image processing device to store the SHA value of the rendering command queue of the rendered image frame.
  • the processing module 60 in the embodiment of the present application may be the processor 101 in FIG. 2, the communication module 61 may be the antenna in FIG. 2, the input module 62 may be 112 and 104-1 in FIG. 2, and the output module 63 may be In the display 104-2 of FIG. 2, the storage module 64 may be the memory 103 of FIG.
  • the image processing apparatus executes the image processing method of the embodiment as shown in FIG.
  • the image processing apparatus executes the image processing method of the embodiment as shown in FIG.
  • the image processing apparatus executes the image processing method of the embodiment as shown in FIG.
  • Another embodiment of the present application also provides a computer readable storage medium including one or more program codes, the one or more programs including instructions, when a processor in an image processing apparatus is executing the At the time of the program code, the image processing apparatus executes the image processing method as shown in FIG.
  • a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the image processing apparatus is The computer readable storage medium reads the computer executable instructions, and the at least one processor executes the computer to execute the instructions such that the image processing apparatus implements the steps in performing the image processing method illustrated in FIG.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be another division manner for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to 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 application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • a computer readable storage medium A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: flash memory, mobile

Abstract

Provided are an image processing method and apparatus, wherein same relate to the field of image processing, and are capable of solving the problem of the rate at which a terminal device processes an image frame being low. The method comprises: acquiring a first rendering command queue, wherein the first rendering command queue comprises multiple rendering commands corresponding to an Nth image frame, and N is greater than or equal to 1; acquiring a first calculation command queue, wherein the first calculation command queue comprises multiple calculation commands corresponding to an (N+1)th image frame; and according to the first rendering command queue, rendering the Nth image frame, and during the process of rendering the Nth image frame, calculating all pixels of the (N+1)th image frame according to a second calculation command queue.

Description

一种图像处理方法及装置Image processing method and device 技术领域Technical field
本申请实施例涉及图像处理技术领域,尤其涉及一种图像处理方法及装置。The embodiments of the present invention relate to the field of image processing technologies, and in particular, to an image processing method and apparatus.
背景技术Background technique
在视频的显示过程中,对于视频中的每个图像帧,终端设备均执行帧处理(即计算)、渲染以及显示这三个任务。During the display of the video, for each image frame in the video, the terminal device performs frame processing (ie, calculation), rendering, and display of these three tasks.
目前,现有的终端设备串行执行计算任务和渲染任务,示例性的,终端设备对第P(P≥1)个图像帧执行计算任务和渲染任务后,再对第P+1个图像帧执行计算任务和渲染任务。这样,在视频包括大量图像帧的场景中,终端设备处理图像帧的速率较低。At present, the existing terminal device serially performs a computing task and a rendering task. Illustratively, after the terminal device performs a computing task and a rendering task on the Pth (P≥1) image frames, the P+1th image frame is further performed. Perform calculation tasks and render tasks. Thus, in a scenario where the video includes a large number of image frames, the rate at which the terminal device processes the image frames is lower.
发明内容Summary of the invention
本申请提供一种图像处理方法及装置,能够解决终端设备处理图像帧的速率较低的问题。The present application provides an image processing method and apparatus, which can solve the problem that a rate at which a terminal device processes an image frame is low.
为达到上述目的,本申请采用如下技术方案:To achieve the above objectives, the present application adopts the following technical solutions:
第一方面,提供一种图像处理方法,图像处理装置获取包括与第N(N≥1)个图像帧对应的多个渲染命令的第一渲染命令队列,并包括与第N+1个图像帧对应的多个计算命令的计算命令队列后,根据第一渲染命令队列,渲染第N个图像帧,并在渲染第N个图像帧的过程中,根据第二计算命令队列,计算第N+1个图像帧的所有像素。In a first aspect, an image processing method is provided, the image processing apparatus acquiring a first rendering command queue including a plurality of rendering commands corresponding to the Nth (N≥1) image frames, and including the N+1th image frame After the calculation command queue of the corresponding multiple calculation commands, the Nth image frame is rendered according to the first rendering command queue, and in the process of rendering the Nth image frame, the N+1 is calculated according to the second calculation command queue. All pixels of an image frame.
本申请实施例中的图像处理装置将渲染任务和计算任务分离,并在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素,实现了渲染任务和计算任务的并行执行,有效的提高了图像处理装置处理图像帧的速率。The image processing apparatus in the embodiment of the present application separates the rendering task from the computing task, and in the process of rendering the Nth image frame, calculates all the pixels of the N+1th image frame, and realizes the parallel of the rendering task and the computing task. Execution effectively increases the rate at which the image processing device processes image frames.
可选的,在本申请的一种可能的实现方式中,在上述图像处理装置处理图像帧的方法中,图像处理装置还获取并行处理消息,该并行处理消息用于通知在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。这样,上述“根据第一渲染命令队列,渲染第N个图像帧,并根据第二计算命令队列,计算第N+1个图像帧的所有像素”的方法具体为:图像处理装置采用第一线程执行第一渲染命令队列包括的渲染命令,渲染第N个图像帧;图像处理装置采用第二线程执行第一计算命令队列包括的计算命令响应,计算第N+1个图像帧;响应并行处理消息,图像处理装置并行运行第一线程和第二线程。Optionally, in a possible implementation manner of the present application, in the method for processing an image frame by the image processing apparatus, the image processing apparatus further acquires a parallel processing message, where the parallel processing message is used to notify that the Nth image is being rendered. During the frame, all pixels of the N+1th image frame are calculated. In this way, the method of “retrieving the Nth image frame according to the first rendering command queue and calculating all the pixels of the N+1th image frame according to the second calculation command queue” is specifically: the image processing apparatus adopts the first thread. Executing a rendering command included in the first rendering command queue to render an Nth image frame; the image processing device uses a second thread to execute a calculation command response included in the first computing command queue, and calculates an N+1th image frame; and responds to the parallel processing message The image processing apparatus runs the first thread and the second thread in parallel.
图像处理装置采用第一线程完成渲染任务,采用第二线程完成计算任务,在并行处理消息的作用下,图像处理装置实现在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。The image processing device uses the first thread to complete the rendering task, and uses the second thread to complete the computing task. Under the action of the parallel processing message, the image processing device realizes the calculation of the N+1th image frame in the process of rendering the Nth image frame. All pixels.
可选的,在本申请的另一种可能的实现方式中,在获取到第一渲染命令队列后,图像处理装置还根据预设算法,计算第一渲染命令队列的特征值,并存储该第一渲染命令队列的特征值。相应的,当N>1时,“图像处理装置根据第一渲染命令队列, 渲染第N个图像帧”的方法为:当图像处理装置确定第一渲染命令队列的特征值与存储的目标渲染命令队列的特征值相等时,获取存储的与目标渲染命令队列对应的第X(N>X≥1)个图像帧的渲染结果,并根据第X个图像帧的渲染结果,渲染第N个图像帧。Optionally, in another possible implementation manner of the present application, after acquiring the first rendering command queue, the image processing apparatus further calculates a feature value of the first rendering command queue according to a preset algorithm, and stores the first A feature value that renders the command queue. Correspondingly, when N>1, “the image processing apparatus according to the first rendering command queue, The method of rendering the Nth image frame is: when the image processing apparatus determines that the feature value of the first rendering command queue is equal to the feature value of the stored target rendering command queue, acquiring the stored Xth corresponding to the target rendering command queue ( N>X≥1) the rendering result of the image frames, and rendering the Nth image frame according to the rendering result of the Xth image frame.
在N>1的情况下,当图像处理装置确定本地存储有与第一渲染命令队列的特征值相等的目标渲染命令队列的特征值,目标渲染命令队列包括与第X个图像帧对应的多个渲染命令时,说明第N个图像帧与第X个图像帧重复,这样,图像处理装置直接根据第X个图像帧的渲染结果渲染第N个图像帧即可,而无需再根据第一渲染命令队列中的每个渲染命令渲染第N个图像帧,减少图像渲染时占用的硬件资源,减少图像处理装置的功耗。In the case of N>1, when the image processing apparatus determines that the feature value of the target rendering command queue equal to the feature value of the first rendering command queue is locally stored, the target rendering command queue includes a plurality of corresponding to the Xth image frame. When the command is rendered, the Nth image frame is overlapped with the Xth image frame, so that the image processing apparatus directly renders the Nth image frame according to the rendering result of the Xth image frame, without further according to the first rendering command. Each rendering command in the queue renders the Nth image frame, reducing the hardware resources used in image rendering and reducing the power consumption of the image processing device.
图像处理装置根据渲染命令队列的特征值可以确定出两个渲染命令队列分别对应的图像帧是否重复。在计算出第一渲染命令队列的特征值后,图像处理装置存储该第一渲染命令队列的特征值,便于确定后续图像帧是否与第N个图像帧重复。The image processing apparatus may determine, according to the feature value of the rendering command queue, whether the image frames corresponding to the two rendering command queues are repeated. After calculating the feature value of the first rendering command queue, the image processing device stores the feature value of the first rendering command queue to facilitate determining whether the subsequent image frame is repeated with the Nth image frame.
可选的,在本申请的另一种可能的实现方式中,图像处理装置在渲染第N个图像帧后,还存储第N个图像帧的渲染结果。这样,图像处理装置在处理后续与第N个图像帧重复的图像帧时,可以参考其存储的第N个图像帧的渲染结果渲染该图像帧。Optionally, in another possible implementation manner of the present application, the image processing apparatus further stores a rendering result of the Nth image frame after the Nth image frame is rendered. Thus, when processing the image frame that is subsequently repeated with the Nth image frame, the image processing apparatus may render the image frame with reference to the rendering result of the stored Nth image frame.
第二方面,提供一种图像处理装置,该图像处理装置包括获取单元、渲染单元以及计算单元。具体的,上述获取单元,用于获取第一渲染命令队列,第一渲染命令队列包括与第N个图像帧对应的多个渲染命令,N≥1,以及用于获取第一计算命令队列,第一计算命令队列包括与第N+1个图像帧对应的多个计算命令。上述渲染单元,用于根据上述获取单元获取到的第一渲染命令队列,渲染第N个图像帧。上述计算单元,用于在上述渲染单元渲染第N个图像帧的过程中,根据上述获取单元获取到的第二计算命令队列,计算第N+1个图像帧的所有像素。In a second aspect, an image processing apparatus is provided, the image processing apparatus comprising an acquisition unit, a rendering unit, and a computing unit. Specifically, the acquiring unit is configured to acquire a first rendering command queue, where the first rendering command queue includes multiple rendering commands corresponding to the Nth image frame, N≥1, and is used to obtain a first computing command queue, A calculation command queue includes a plurality of calculation commands corresponding to the (N+1)th image frame. The rendering unit is configured to render the Nth image frame according to the first rendering command queue acquired by the acquiring unit. The calculating unit is configured to calculate, in the process of rendering the Nth image frame by the rendering unit, all the pixels of the (N+1)th image frame according to the second calculation command queue acquired by the acquiring unit.
进一步地,在本申请的一种可能的实现方式中,上述获取单元,还用于获取并行处理消息,并行处理消息用于通知在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。上述渲染单元,具体用于采用第一线程执行第一渲染命令队列包括的渲染命令,渲染第N个图像帧。上述计算单元,具体用于采用第二线程执行第一计算命令队列包括的计算命令响应,计算第N+1个图像帧,以及具体用于响应上述获取单元获取到的并行处理消息,在上述渲染单元渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。Further, in a possible implementation manner of the present application, the acquiring unit is further configured to acquire a parallel processing message, where the parallel processing message is used to notify that, in the process of rendering the Nth image frame, calculate the N+1th All pixels of the image frame. The rendering unit is specifically configured to execute a rendering command included in the first rendering command queue by using the first thread to render the Nth image frame. The calculating unit is specifically configured to execute, by using the second thread, a calculation command response included in the first calculation command queue, calculate an N+1th image frame, and specifically, in response to the parallel processing message acquired by the acquiring unit, in the foregoing rendering In the process of rendering the Nth image frame by the unit, all pixels of the N+1th image frame are calculated.
进一步地,在本申请的另一种可能的实现方式中,上述计算单元,具体用于根据预设算法,计算获取单元获取到的第一渲染命令队列的特征值。本申请实施例提供的图像处理装置还包括存储单元,该存储单元用于存储上述计算单元计算出的第一渲染命令队列的特征值。本申请实施例提供的图像处理装置还包括确定单元,该确定单元用于确定上述计算单元计算出的第一渲染命令队列的特征值与存储的第一数值相等,第一数值为目标渲染命令队列的特征值,目标渲染命令队列包括与第X个图像帧对应的多个渲染命令,N>X≥1。上述获取单元,还用于获取存储的第X个图像帧的渲染结果。上述渲染单元,具体用于根据上述获取单元获取到的第X个图像帧的渲染结果, 渲染第N个图像帧。Further, in another possible implementation manner of the present application, the calculating unit is specifically configured to calculate, according to a preset algorithm, a feature value of the first rendering command queue acquired by the acquiring unit. The image processing apparatus provided by the embodiment of the present application further includes a storage unit, configured to store a feature value of the first rendering command queue calculated by the calculating unit. The image processing apparatus provided by the embodiment of the present application further includes a determining unit, configured to determine that the feature value of the first rendering command queue calculated by the calculating unit is equal to the stored first value, and the first value is a target rendering command queue. The feature value, the target rendering command queue includes a plurality of rendering commands corresponding to the Xth image frame, N>X≥1. The obtaining unit is further configured to acquire a rendering result of the stored Xth image frame. The rendering unit is specifically configured to be used according to the rendering result of the Xth image frame acquired by the acquiring unit. Render the Nth image frame.
进一步地,在本申请的另一种可能的实现方式中,本申请实施例提供的图像处理装置还包括存储单元,该存储单元用于在上述渲染单元渲染第N个图像帧后,存储第N个图像帧的渲染结果。Further, in another possible implementation manner of the present application, the image processing apparatus provided by the embodiment of the present application further includes a storage unit, configured to store the Nth after the rendering unit renders the Nth image frame. The rendering result of the image frames.
第三方面,提供一种图像处理装置,该图像处理装置包括:一个或多个处理器、存储器和通信接口。存储器、通信接口与一个或多个处理器通过系统总线连接。该图像处理装置通过通信接口与其他设备通信。存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行存储器存储的指令时,图像处理装置执行如上述第一方面及其任一种可能的实现方式的图像处理方法。In a third aspect, an image processing apparatus is provided, the image processing apparatus comprising: one or more processors, a memory, and a communication interface. The memory, communication interface is coupled to one or more processors via a system bus. The image processing device communicates with other devices through a communication interface. The memory is for storing computer program code, the computer program code comprising instructions, when the one or more processors execute the instructions stored in the memory, the image processing apparatus performs the image processing method as described in the first aspect above and any possible implementation thereof .
第四方面,提供一种计算机存储介质,该计算机存储介质中存储有计算机程序代码。当第三方面中的图像处理装置的处理器执行该计算机程序代码时,图像处理装置执行如上述第一方面及其任一种可能的实现方式的图像处理方法。In a fourth aspect, a computer storage medium is provided having stored therein computer program code. When the processor of the image processing apparatus in the third aspect executes the computer program code, the image processing apparatus performs the image processing method as in the first aspect described above and any possible implementation thereof.
第五方面,还提供一种包含指令的计算机程序产品,当其在图像处理装置上运行时,使得图像处理装置执行如上述第一方面及其任一种可能的实现方式的图像处理方法。In a fifth aspect, there is also provided a computer program product comprising instructions which, when run on an image processing device, cause the image processing device to perform an image processing method as in the first aspect described above and any one of its possible implementations.
在本申请中,上述图像处理装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。In the present application, the name of the above image processing apparatus is not limited to the device or the function module itself. In actual implementation, these devices or function modules may appear under other names. As long as the functions of the respective devices or functional modules are similar to the present application, they are within the scope of the claims and their equivalents.
本申请中第二方面、第三方面、第四方面、第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面、第三方面、第四方面、第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。For a detailed description of the second aspect, the third aspect, the fourth aspect, the fifth aspect, and various implementations thereof, reference may be made to the detailed description in the first aspect and various implementations thereof; and the second aspect, For the beneficial effects of the third aspect, the fourth aspect, the fifth aspect, and various implementations thereof, reference may be made to the beneficial effects in the first aspect and various implementation manners thereof, and details are not described herein again.
本申请实施例的这些方面或其他方面在以下的描述中会更加简明易懂。These and other aspects of the embodiments of the present application will be more apparent from the following description.
附图说明DRAWINGS
图1为现有技术中GPU处理图像帧的方法流程示意图;1 is a schematic flow chart of a method for processing an image frame by a GPU in the prior art;
图2为本申请实施例提供的手机的硬件结构示意图;2 is a schematic structural diagram of hardware of a mobile phone according to an embodiment of the present application;
图3为本申请实施例提供的图像处理方法的流程示意图;FIG. 3 is a schematic flowchart diagram of an image processing method according to an embodiment of the present disclosure;
图4为本申请实施例中GPU处理图像帧的方法流程示意图;4 is a schematic flowchart of a method for processing an image frame by a GPU according to an embodiment of the present application;
图5为本申请实施例提供的图像处理装置的结构示意图一;FIG. 5 is a schematic structural diagram 1 of an image processing apparatus according to an embodiment of the present disclosure;
图6为本申请实施例提供的图像处理装置的结构示意图二。FIG. 6 is a schematic structural diagram 2 of an image processing apparatus according to an embodiment of the present disclosure.
具体实施方式Detailed ways
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。The terms "first", "second", and "third" and the like in the specification and claims of the present application and the above drawings are used to distinguish different objects, and are not intended to limit the specific order.
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。In the embodiments of the present application, the words "exemplary" or "such as" are used to mean an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the words "exemplary" or "such as" is intended to present the concepts in a particular manner.
在视频的显示过程中,对于视频中的每个图像帧,终端设备均执行计算、渲染以及显示这三个任务。具体的,终端设备内置的图形处理器(Graphics Processing Unit, GPU)执行计算任务以及渲染任务,并将渲染后的图像帧在显示器上显示。During the display of the video, for each image frame in the video, the terminal device performs three tasks of calculating, rendering, and displaying. Specifically, a graphics processing unit (Graphics Processing Unit, built in the terminal device) The GPU) performs computational tasks as well as rendering tasks and displays the rendered image frames on the display.
目前,终端设备串行执行计算任务和渲染任务。示例性的,如图1所示,终端设备中的GPU执行第P(P≥1)个图像帧的计算任务后,执行第P个图像帧的渲染任务;在执行第P个图像帧的渲染任务后,GPU再执行第P+1个图像帧的计算任务;在执行第P+1个图像帧的计算任务后,GPU再执行第P+1个图像帧的渲染任务,以此类推,GPU执行最后一个图像帧的渲染任务为止。可以看出,在包括大量图像帧的场景中,该方法中的终端设备处理图像帧的速率较低较大。Currently, terminal devices serially perform computational tasks and rendering tasks. Exemplarily, as shown in FIG. 1 , after the GPU in the terminal device performs the calculation task of the Pth (P≥1) image frames, the rendering task of the Pth image frame is performed; and the rendering of the Pth image frame is performed. After the task, the GPU performs the calculation task of the P+1th image frame; after performing the calculation task of the P+1th image frame, the GPU performs the rendering task of the P+1th image frame, and so on, the GPU Perform the rendering task of the last image frame. It can be seen that in a scenario including a large number of image frames, the rate at which the terminal device in the method processes the image frame is relatively large.
此外,在视频包括大量图像帧的场景中,多个图像帧存在重复的可能,对于重复图像帧而言,上述方法中的终端设备需要重新执行计算任务和渲染任务,进一步地降低了处理图像帧的速率,而且终端设备的功耗较大。In addition, in a scenario where the video includes a large number of image frames, there are multiple image frames that may be duplicated. For the repeated image frames, the terminal device in the above method needs to re-execute the computing task and the rendering task, further reducing the processed image frame. The rate, and the power consumption of the terminal device is large.
针对上述处理图像帧的速率较低的问题,本申请实施例提供一种图像处理方法,图像处理装置将计算任务和渲染任务分离、并行处理计算任务和渲染任务。图像处理装置在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素,有效的提高了处理图像帧的速率。The image processing device separates the computing task from the rendering task, and the parallel computing processing task and the rendering task. The image processing apparatus calculates all the pixels of the (N+1)th image frame in the process of rendering the Nth image frame, effectively improving the rate of processing the image frame.
本申请实施例中的图像处理装置可以为手机、增强现实(Augmented Reality,AR)\虚拟现实(Virtual Reality,VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本、个人数字助理(Personal Digital Assistant,PDA)等任意终端设备,当然,在以下实施例中,对该图像处理装置的具体形式不作任何限制。The image processing apparatus in the embodiment of the present application may be a mobile phone, an augmented reality (AR), a virtual reality (VR) device, a tablet computer, a notebook computer, or a super mobile personal computer (UMP). Any terminal device such as a netbook or a personal digital assistant (PDA). Of course, in the following embodiments, the specific form of the image processing device is not limited.
如图2所示,本申请实施例中的图像处理装置可以为手机100。下面以手机100为例对实施例进行具体说明。应该理解的是,图示手机100仅是上述图像处理装置的一个范例,并且手机100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。As shown in FIG. 2, the image processing apparatus in the embodiment of the present application may be the mobile phone 100. The embodiment will be specifically described below by taking the mobile phone 100 as an example. It should be understood that the illustrated mobile phone 100 is only one example of the image processing device described above, and the mobile phone 100 may have more or fewer components than those shown in the figures, and two or more components may be combined. Or it can have different component configurations.
如图2所示,手机100具体可以包括:处理器101、射频(Radio Frequency,RF)电路102、存储器103、触摸屏104、蓝牙装置105、一个或多个传感器106、Wi-Fi装置107、定位装置108、音频电路109、外设接口110以及电源系统111等部件。这些部件可通过一根或多根通信总线或信号线(图2中未示出)进行通信。本领域技术人员可以理解,图2中示出的硬件结构并不构成对手机的限定,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。As shown in FIG. 2, the mobile phone 100 may specifically include: a processor 101, a radio frequency (RF) circuit 102, a memory 103, a touch screen 104, a Bluetooth device 105, one or more sensors 106, a Wi-Fi device 107, and positioning. Components such as device 108, audio circuit 109, peripheral interface 110, and power system 111. These components can communicate over one or more communication buses or signal lines (not shown in Figure 2). It will be understood by those skilled in the art that the hardware structure shown in FIG. 2 does not constitute a limitation to the mobile phone, and the mobile phone 100 may include more or less components than those illustrated, or some components may be combined, or different component arrangements.
下面结合图2对手机100的各个部件进行具体的介绍:The various components of the mobile phone 100 will be specifically described below with reference to FIG. 2:
处理器101是手机100的控制中心,利用各种接口和线路连接手机100的各个部分,通过运行或执行存储在存储器103内的应用程序,以及调用存储在存储器103内的数据,执行手机100的各种功能和处理数据。在一些实施例中,处理器101可包括一个或多个处理单元。可选的,处理器101可集成应用处理器和调制解调处理器。其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可选的,上述调制解调处理器和应用处理器也可以是相互独立设置的。The processor 101 is a control center of the mobile phone 100, and connects various parts of the mobile phone 100 by using various interfaces and lines, and executes the mobile phone 100 by running or executing an application stored in the memory 103 and calling data stored in the memory 103. Various functions and processing data. In some embodiments, processor 101 can include one or more processing units. Optionally, the processor 101 can integrate an application processor and a modem processor. The application processor mainly processes an operating system, a user interface, an application, and the like; the modem processor mainly processes wireless communication. Optionally, the above modulation and demodulation processor and the application processor may also be independently set.
在本申请实施例中,处理器101可以包括GPU 115和中央处理器(Central  Processing Unit,CPU)116,也可以是GPU 115、CPU 116、数字信号处理(Digital Signal Processing,DSP)以及通信单元中的控制芯片(例如基带芯片)的组合。在本申请实施方式中,GPU 115和CPU 116均可以是单运算核心,也可以包括多运算核心。In the embodiment of the present application, the processor 101 may include a GPU 115 and a central processing unit (Central) The processing unit (CPU) 116 may also be a combination of the GPU 115, the CPU 116, the digital signal processing (DSP), and a control chip (for example, a baseband chip) in the communication unit. In the embodiment of the present application, both the GPU 115 and the CPU 116 may be a single operation core, and may also include multiple operation cores.
其中,GPU 115是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器。它可将手机100所需要的显示信息进行转换驱动,并向显示器104-2提供行扫描信号,控制显示器104-2的正确显示。Among them, the GPU 115 is a microprocessor that performs image computing operations on personal computers, workstations, game consoles, and some mobile devices (such as tablets, smart phones, etc.). It can convert the display information required by the mobile phone 100 and provide a line scan signal to the display 104-2 to control the correct display of the display 104-2.
具体的,在显示过程中,手机100可将相应的绘图命令发送给GPU 115,例如,该绘图命令可以为“在坐标位置(x,y)处画个长和宽为a×b大小的长方形”,那么,GPU 115根据该绘图指令便可以迅速计算出该图形的所有像素,并在显示器104-2上指定位置画出相应的图形。Specifically, during the display process, the mobile phone 100 may send a corresponding drawing command to the GPU 115. For example, the drawing command may be “drawing a rectangle having a length and a width of a×b at the coordinate position (x, y). Then, the GPU 115 can quickly calculate all the pixels of the graphic according to the drawing instruction, and draw corresponding graphics on the specified position on the display 104-2.
需要说明的是,GPU 115可以以功能模块的形式集成在处理器101内,也可以以独立的实体形态(例如,显卡)设置在手机100内,本申请实施例对此不作任何限制。It should be noted that the GPU 115 may be integrated in the processor 101 in the form of a functional module, or may be disposed in the mobile phone 100 in a separate physical form (for example, a video card), which is not limited in this embodiment.
GPU 115完成图像帧的计算任务和渲染任务。具体的,本申请实施例中的GPU115包括多个流处理(Stream Processor,SM)单元。SM单元主要用于处理由CPU传输过来的数据,并将处理后的数据转换为显示器104-2可以辨识的数字信号。也就是说,GPU 115中的SM单元完成图像帧的计算任务和渲染任务。The GPU 115 performs computational tasks and rendering tasks for image frames. Specifically, the GPU 115 in the embodiment of the present application includes multiple Stream Processor (SM) units. The SM unit is mainly used to process data transmitted by the CPU and convert the processed data into a digital signal that the display 104-2 can recognize. That is to say, the SM unit in the GPU 115 completes the calculation task and the rendering task of the image frame.
本申请实施例中的图像处理装置采用一个空闲的SM单元渲染第N个图像帧,并在渲染第N个图像帧的过程中,采用另一空闲的SM单元计算第N+1个图像帧的所有像素,计算任务和渲染任务之间分离,并实现并行处理,有效的提高了处理图像帧的速率。The image processing apparatus in the embodiment of the present application uses an idle SM unit to render the Nth image frame, and in the process of rendering the Nth image frame, uses another idle SM unit to calculate the N+1th image frame. All pixels, separation between computational tasks and rendering tasks, and parallel processing, effectively increase the rate at which image frames are processed.
射频电路102可用于在收发信息或通话过程中,无线信号的接收和发送。特别地,射频电路102可以将基站的下行数据接收后,给处理器101处理;另外,将涉及上行的数据发送给基站。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路102还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。The radio frequency circuit 102 can be used to receive and transmit wireless signals during transmission or reception of information or calls. In particular, the radio frequency circuit 102 can process the downlink data of the base station and then process it to the processor 101; in addition, transmit the data related to the uplink to the base station. Generally, radio frequency circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency circuit 102 can also communicate with other devices through wireless communication. The wireless communication can use any communication standard or protocol, including but not limited to global mobile communication systems, general packet radio services, code division multiple access, wideband code division multiple access, long term evolution, email, short message service, and the like.
存储器103用于存储应用程序以及数据,处理器101通过运行存储在存储器103的应用程序以及数据,执行手机100的各种功能以及数据处理。存储器103主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可以存储根据使用手机100时所创建的数据(比如音频数据、电话本等)。此外,存储器103可以包括高速随机存取存储器(RAM),还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他易失性固态存储器件等。存储器103可以存储各种操作系统,例如,苹果公司所开发的
Figure PCTCN2017106153-appb-000001
操作系统,谷歌公司所开发的
Figure PCTCN2017106153-appb-000002
操作系统等。上述存储器103可以是独立的,通过上述通信总线与处理 器101相连接;存储器103也可以和处理器101集成在一起。
The memory 103 is used to store applications and data, and the processor 101 executes various functions and data processing of the mobile phone 100 by running applications and data stored in the memory 103. The memory 103 mainly includes a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.); the storage data area can be stored according to the use of the mobile phone. Data created at 100 o'clock (such as audio data, phone book, etc.). Further, the memory 103 may include high speed random access memory (RAM), and may also include nonvolatile memory such as a magnetic disk storage device, a flash memory device, or other volatile solid state storage device. The memory 103 can store various operating systems, for example, developed by Apple.
Figure PCTCN2017106153-appb-000001
Operating system, developed by Google Inc.
Figure PCTCN2017106153-appb-000002
Operating system, etc. The above memory 103 may be independent and connected to the processor 101 via the above communication bus; the memory 103 may also be integrated with the processor 101.
触摸屏104具体可以包括触控板104-1和显示器104-2。The touch screen 104 may specifically include a touch panel 104-1 and a display 104-2.
其中,触控板104-1可采集手机100的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触控板104-1上或在触控板104-1附近的操作),并将采集到的触摸信息发送给其他器件(例如处理器101)。其中,用户在触控板104-1附近的触摸事件可以称之为悬浮触控;悬浮触控可以是指,用户无需为了选择、移动或拖动目标(例如图标等)而直接接触触控板,而只需用户位于手机附近以便执行所想要的功能。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触控板104-1。The touch panel 104-1 can collect touch events on or near the user of the mobile phone 100 (for example, the user uses any suitable object such as a finger, a stylus, or the like on the touch panel 104-1 or on the touchpad 104. The operation near -1), and the collected touch information is sent to other devices (for example, processor 101). The touch event of the user in the vicinity of the touch panel 104-1 may be referred to as a hovering touch; the hovering touch may mean that the user does not need to directly touch the touchpad in order to select, move or drag a target (eg, an icon, etc.) Instead, just the user is near the phone to perform the desired function. In addition, the touch panel 104-1 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
显示器(也称为显示屏)104-2可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。可以采用液晶显示器、有机发光二极管等形式来配置显示器104-2。触控板104-1可以覆盖在显示器104-2之上,当触控板104-1检测到在其上或附近的触摸事件后,传送给处理器101以确定触摸事件的类型,随后处理器101可以根据触摸事件的类型在显示器104-2上提供相应的视觉输出。虽然在图2中,触控板104-1与显示屏104-2是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,可以将触控板104-1与显示屏104-2集成而实现手机100的输入和输出功能。可以理解的是,触摸屏104是由多层的材料堆叠而成,本申请实施例中只展示出了触控板(层)和显示屏(层),其他层在本申请实施例中不予记载。另外,触控板104-1可以以全面板的形式配置在手机100的正面,显示屏104-2也可以以全面板的形式配置在手机100的正面,这样在手机的正面就能够实现无边框的结构。A display (also referred to as display) 104-2 can be used to display information entered by the user or information provided to the user as well as various menus of the mobile phone 100. The display 104-2 can be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The touchpad 104-1 can be overlaid on the display 104-2, and when the touchpad 104-1 detects a touch event on or near it, it is transmitted to the processor 101 to determine the type of touch event, and then the processor 101 may provide a corresponding visual output on display 104-2 depending on the type of touch event. Although in FIG. 2, the touchpad 104-1 and the display 104-2 are implemented as two separate components to implement the input and output functions of the handset 100, in some embodiments, the touchpad 104- 1 is integrated with the display screen 104-2 to implement the input and output functions of the mobile phone 100. It is to be understood that the touch screen 104 is formed by stacking a plurality of layers of materials. In the embodiment of the present application, only the touch panel (layer) and the display screen (layer) are shown, and other layers are not described in the embodiment of the present application. . In addition, the touch panel 104-1 may be disposed on the front surface of the mobile phone 100 in the form of a full-board, and the display screen 104-2 may also be disposed on the front surface of the mobile phone 100 in the form of a full-board, so that the front of the mobile phone can be borderless. Structure.
可选的,手机100还可以具有指纹识别功能。例如,可以在手机100的背面(例如后置摄像头的下方)配置指纹识别采集器112,或者在手机100的正面(例如触摸屏104的下方)配置指纹采集器112。又例如,可以在触摸屏104中配置指纹采集器112来实现指纹识别功能,即指纹采集器112可以与触摸屏104集成在一起来实现手机100的指纹识别功能。在这种情况下,该指纹采集器112配置在触摸屏104中,可以是触摸屏104的一部分,也可以以其他方式配置在触摸屏104中。本申请实施例中的指纹采集器112的主要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。Optionally, the mobile phone 100 may also have a fingerprint recognition function. For example, the fingerprint recognition collector 112 can be configured on the back of the handset 100 (eg, below the rear camera) or the fingerprint collector 112 can be configured on the front side of the handset 100 (eg, below the touch screen 104). For another example, the fingerprint collector 112 can be configured in the touch screen 104 to implement the fingerprint recognition function, that is, the fingerprint collector 112 can be integrated with the touch screen 104 to implement the fingerprint recognition function of the mobile phone 100. In this case, the fingerprint collector 112 is disposed in the touch screen 104, may be part of the touch screen 104, or may be otherwise disposed in the touch screen 104. The main component of the fingerprint collector 112 in the embodiment of the present application is a fingerprint sensor, which can employ any type of sensing technology, including but not limited to optical, capacitive, piezoelectric or ultrasonic sensing technologies.
手机100还可以包括蓝牙装置105,用于实现手机100与其他短距离的终端设备(例如手机、智能手表等)之间的数据交换。本申请实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。The mobile phone 100 can also include a Bluetooth device 105 for enabling data exchange between the handset 100 and other short-range terminal devices (eg, mobile phones, smart watches, etc.). The Bluetooth device in the embodiment of the present application may be an integrated circuit or a Bluetooth chip or the like.
手机100还可以包括至少一种传感器106,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节触摸屏104的显示器的亮度,接近传感器可在手机100移动到耳边时,关闭显示器的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力 计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。The handset 100 can also include at least one type of sensor 106, such as a light sensor, motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display of the touch screen 104 according to the brightness of the ambient light, and the proximity sensor may turn off the power of the display when the mobile phone 100 moves to the ear. . As a kind of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity. It can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetic (statue calibration), vibration recognition related functions (such as pedometer, tapping), etc.; other sensors such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., which can be configured in the mobile phone 100, are not described here.
Wi-Fi装置107,用于为手机100提供遵循Wi-Fi相关标准协议的网络接入,手机100可以通过Wi-Fi装置107接入到Wi-Fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。在其他一些实施例中,该Wi-Fi装置107也可以作为Wi-Fi无线接入点,可以为其他终端设备提供Wi-Fi网络接入。The Wi-Fi device 107 is configured to provide the mobile phone 100 with network access complying with the Wi-Fi related standard protocol, and the mobile phone 100 can access the Wi-Fi access point through the Wi-Fi device 107, thereby helping the user to send and receive emails, Browsing web pages and accessing streaming media, etc., it provides users with wireless broadband Internet access. In some other embodiments, the Wi-Fi device 107 can also function as a Wi-Fi wireless access point, and can provide Wi-Fi network access to other terminal devices.
定位装置108,用于为手机100提供地理位置。可以理解的是,该定位装置108具体可以是全球定位系统(Global Positioning System,GPS)或北斗卫星导航系统、俄罗斯GLONASS等定位系统的接收器。定位装置108在接收到上述定位系统发送的地理位置后,将该信息发送给处理器101进行处理,或者发送给存储器103进行保存。在另外的一些实施例中,该定位装置108还可以是辅助全球卫星定位系统(Assisted Global Positioning System,AGPS)的接收器,AGPS系统通过作为辅助服务器来协助定位装置108完成测距和定位服务,在这种情况下,辅助定位服务器通过无线通信网络与终端设备(例如手机100的定位装置108,即GPS接收器)通信而提供定位协助。在另外的一些实施例中,该定位装置108也可以是基于Wi-Fi接入点的定位技术。由于每一个Wi-Fi接入点都有一个全球唯一的介质访问控制(Media Access Control,MAC)地址,手机在开启Wi-Fi的情况下即可扫描并收集周围的Wi-Fi接入点的广播信号,因此可以获取到Wi-Fi接入点广播出来的MAC地址;手机将这些能够标示Wi-Fi接入点的数据(例如MAC地址)通过无线通信网络发送给位置服务器,由位置服务器检索出每一个Wi-Fi接入点的地理位置,并结合Wi-Fi广播信号的强弱程度,计算出该手机的地理位置并发送到该手机的定位装置108中。The positioning device 108 is configured to provide a geographic location for the mobile phone 100. It can be understood that the positioning device 108 can be specifically a receiver of a positioning system such as a Global Positioning System (GPS) or a Beidou satellite navigation system, or a Russian GLONASS. After receiving the geographical location transmitted by the positioning system, the positioning device 108 sends the information to the processor 101 for processing, or sends it to the memory 103 for storage. In some other embodiments, the positioning device 108 can also be a receiver of an Assisted Global Positioning System (AGPS), which assists the positioning device 108 in performing ranging and positioning services by acting as an auxiliary server. In this case, the secondary location server provides location assistance over the wireless communication network in communication with the terminal device (e.g., the location device 108 of the handset 100, i.e., the GPS receiver). In still other embodiments, the positioning device 108 can also be a Wi-Fi access point based positioning technology. Since each Wi-Fi access point has a globally unique Media Access Control (MAC) address, the phone can scan and collect the surrounding Wi-Fi access points when Wi-Fi is turned on. The broadcast signal, so the MAC address broadcasted by the Wi-Fi access point can be obtained; the mobile phone sends the data (such as the MAC address) capable of indicating the Wi-Fi access point to the location server through the wireless communication network, and is retrieved by the location server. The geographic location of each Wi-Fi access point, combined with the strength of the Wi-Fi broadcast signal, calculates the geographic location of the mobile phone and sends it to the location device 108 of the handset.
音频电路109、扬声器113、麦克风114可提供用户与手机100之间的音频接口。音频电路109可将接收到的音频数据转换后的电信号,传输到扬声器113,由扬声器113转换为声音信号输出;另一方面,麦克风114将收集的声音信号转换为电信号,由音频电路109接收后转换为音频数据,再将音频数据输出至RF电路102以发送给比如另一手机,或者将音频数据输出至存储器103以便进一步处理。The audio circuit 109, the speaker 113, and the microphone 114 can provide an audio interface between the user and the handset 100. The audio circuit 109 can transmit the converted electrical data of the received audio data to the speaker 113 for conversion to the sound signal output by the speaker 113; on the other hand, the microphone 114 converts the collected sound signal into an electrical signal by the audio circuit 109. After receiving, it is converted into audio data, and then the audio data is output to the RF circuit 102 for transmission to, for example, another mobile phone, or the audio data is output to the memory 103 for further processing.
外设接口110,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线(Universal Serial Bus,USB)接口与鼠标连接,通过用户识别模块卡卡槽上的金属触点与电信运营商提供的用户识别模块卡(Subscriber Identity Module,SIM)卡进行连接。外设接口110可以被用来将上述外部的输入/输出外围设备耦接到处理器101和存储器103。The peripheral interface 110 is used to provide various interfaces for external input/output devices (such as a keyboard, a mouse, an external display, an external memory, a subscriber identity module card, etc.). For example, it is connected to the mouse through a Universal Serial Bus (USB) interface, and is connected to a Subscriber Identity Module (SIM) card provided by the service provider through a metal contact on the card slot of the subscriber identity module. . Peripheral interface 110 can be used to couple the external input/output peripherals described above to processor 101 and memory 103.
手机100还可以包括给各个部件供电的电源装置111(比如电池和电源管理芯片),电池可以通过电源管理芯片与处理器101逻辑相连,从而通过电源装置111实现管理充电、放电、以及功耗管理等功能。The mobile phone 100 may further include a power supply device 111 (such as a battery and a power management chip) that supplies power to the various components. The battery may be logically connected to the processor 101 through the power management chip to manage charging, discharging, and power management through the power supply device 111. And other functions.
尽管图2未示出,手机100还可以包括摄像头(前置摄像头和/或后置摄像头)、 闪光灯、微型投影装置、近场通信(Near Field Communication,NFC)装置等,在此不再赘述。Although not shown in FIG. 2, the mobile phone 100 may further include a camera (front camera and/or rear camera), A flash lamp, a micro projection device, a Near Field Communication (NFC) device, and the like are not described herein.
以下,将结合具体实施例详细阐述本申请实施例提供的一种图像处理方法,如图3所述,该图像处理方法包括:Hereinafter, an image processing method provided by an embodiment of the present application is described in detail in conjunction with a specific embodiment. As shown in FIG. 3, the image processing method includes:
S300、在目标应用的运行过程中,图像处理装置获取待处理图像帧序列。S300. The image processing apparatus acquires a sequence of image frames to be processed during the running of the target application.
其中,上述目标应用可以是图像处理装置内安装的任一依赖于GPU进行图像运算的应用。该目标应用可以为用户从第三方应用市场下载的,也可以为图像处理装置系统自带的应用,本申请实施例对此不作具体限定。The target application may be any application installed in the image processing device that relies on the GPU for image calculation. The target application may be downloaded from the third-party application market, and may also be an application that is provided by the image processing device system, which is not specifically limited in this embodiment of the present application.
示例性的,目标应用为AutoCAD(Auto Computer Aided Design)、3Ds Max(3D Studio Max)、Pro/Engineer或视频播放器等。Exemplarily, the target application is AutoCAD (Auto Computer Aided Design), 3Ds Max (3D Studio Max), Pro/Engineer or video player.
待处理图像帧序列包括多个待处理图像帧。由于目标应用的类型不同,图像处理装置可以直接获取到该待处理图像帧序列包括的所有待处理图像帧,也可以实时待处理图像帧序列中的每个待处理图像帧,本申请实施例对此不作具体限定。The sequence of image frames to be processed includes a plurality of image frames to be processed. The image processing apparatus may directly acquire all the image frames to be processed included in the image frame sequence to be processed, and may also process each image frame to be processed in the image frame sequence in real time. This is not specifically limited.
示例性的,目标应用为直播视频播放器,直播视频播放器需要为用户呈现的内容包括人物造型、环境背景等诸多元素,在播放直播视频的过程中,图像处理装置通过渲染不同的图像帧来表现这些元素。由于直播视频是以帧的方式显示图像,因此,图像处理装置需要实时获取每一待处理图像帧。Exemplarily, the target application is a live video player, and the content that the live video player needs to present to the user includes a character shape, an environment background, and the like. In the process of playing the live video, the image processing device renders different image frames by Express these elements. Since the live video is displayed in a frame manner, the image processing apparatus needs to acquire each image frame to be processed in real time.
S301、图像处理装置依次生成待处理图像序列中每个待处理图像帧的计算命令队列和渲染命令队列。S301. The image processing apparatus sequentially generates a calculation command queue and a rendering command queue of each image frame to be processed in the image sequence to be processed.
对于每个待处理图像帧,图像处理装置在获取到该待处理图像帧后,将该待处理图像帧的所有计算命令放入第一预设类型的计算命令队列中,并将该待处理图像帧是所有渲染命令放入第二预设类型的渲染命令队列中,这样,即可生成该待处理图像帧的计算命令队列和渲染命令队列。After acquiring the image frame to be processed, the image processing apparatus puts all the calculation commands of the image frame to be processed into the calculation command queue of the first preset type, and the image to be processed The frame is that all rendering commands are placed in the rendering command queue of the second preset type, so that the calculation command queue and the rendering command queue of the image frame to be processed can be generated.
从S300的描述可知,图像处理装置可以实时获取每一待处理图像帧,也可以直接获取到待处理图像帧序列包括的所有待处理图像帧。无论图像处理装置采用上述哪种方式获取待处理图像帧,该图像处理装置均按照获取待处理图像帧的时间的先后顺序生成每个待处理图像帧的计算命令队列和渲染命令队列。It can be seen from the description of S300 that the image processing apparatus can acquire each image frame to be processed in real time, or directly acquire all the image frames to be processed included in the sequence of image frames to be processed. Regardless of which of the above manners the image processing apparatus acquires the image frame to be processed, the image processing apparatus generates a calculation command queue and a rendering command queue for each image frame to be processed in the order of the time at which the image frames to be processed are acquired.
具体的,图像处理装置中运行目标应用的CPU生成每个待处理图像帧的计算命令队列和渲染命令队列。Specifically, the CPU running the target application in the image processing apparatus generates a calculation command queue and a rendering command queue for each image frame to be processed.
对于每个待处理图像帧而言,CPU在生成该待处理图像帧的计算命令队列和渲染命令队列后,向图像处理装置中的GPU发送该待处理图像帧的计算命令队列和渲染命令队列,这样,GPU即可根据获取到的计算命令队列,计算出该待处理图像帧的所有像素,且GPU根据获取到的渲染命令队列,渲染该待处理图像帧,并在图像处理装置的显示器上显示渲染后的待处理图像帧。For each image frame to be processed, after generating the calculation command queue and the rendering command queue of the image frame to be processed, the CPU sends the calculation command queue and the rendering command queue of the image frame to be processed to the GPU in the image processing apparatus. In this way, the GPU can calculate all the pixels of the image frame to be processed according to the obtained calculation command queue, and the GPU renders the image frame to be processed according to the obtained rendering command queue, and displays it on the display of the image processing apparatus. The image frame to be processed after rendering.
为了便于描述,本申请实施例以GPU获取第一计算命令队列和第一渲染命令队列为例进行说明。其中,第一渲染命令队列包括与第N个图像帧对应的多个渲染命令,N>1。第一计算命令队列包括与第N+1个图像帧对应的多个计算命令。这里,第N个图像帧和第N+1个图像帧均为上述描述的待处理图像帧。 For convenience of description, the embodiment of the present application is described by taking a GPU to acquire a first calculation command queue and a first rendering command queue as an example. The first rendering command queue includes a plurality of rendering commands corresponding to the Nth image frame, N>1. The first calculation command queue includes a plurality of calculation commands corresponding to the (N+1)th image frame. Here, the Nth image frame and the (N+1)th image frame are both the image frames to be processed described above.
S302、图像处理装置的GPU采用第一线程执行第一渲染命令队列包括的渲染命令,渲染第N个图像帧。S302. The GPU of the image processing apparatus executes the rendering command included in the first rendering command queue by using the first thread to render the Nth image frame.
结合上述描述,图像处理装置的GPU中的一个空闲SM单元(简称为:第一SM单元)采用第一线程执行第一渲染命令队列包括的渲染命令,以完成第N个图像帧的渲染任务,实现第N个图像帧的渲染。With reference to the above description, an idle SM unit (referred to as: the first SM unit) in the GPU of the image processing apparatus uses a first thread to execute a rendering command included in the first rendering command queue to complete a rendering task of the Nth image frame. Implement the rendering of the Nth image frame.
具体的,第一SM单元渲染第N个图像帧的方法为:第一SM单元首先根据预设算法,计算第一渲染命令队列的特征值;然后,该第一SM单元判断本地是否存储有与第一渲染命令队列的特征值相等的其他渲染命令队列的特征值。Specifically, the method for the first SM unit to render the Nth image frame is: the first SM unit first calculates a feature value of the first rendering command queue according to a preset algorithm; and then, the first SM unit determines whether the local storage unit stores The feature values of other render command queues whose feature values of the first render command queue are equal.
若第一渲染命令队列的特征值与存储的目标渲染命令队列的特征值(简称为第一数值)相等,目标渲染命令队列包括与第X(N>X≥1)个图像帧对应的多个渲染命令,则说明第N个图像帧与第X个图像帧重复,第一SM单元可直接利用地X个图像帧的渲染结果来渲染第N个图像帧,渲染结果可以包括贴图信息和阴影信息等。相应的,该第一SM单元从本地获取目标渲染命令队列对应的第X(N>X≥1)个图像帧的渲染结果,并根据地X个图像帧的渲染结果渲染第N个图像帧。这种场景中,渲染第N个图像帧的过程无需再额外占用硬件资源,能够减少图像渲染时占用的硬件资源,减少图像处理装置的功耗。If the feature value of the first rendering command queue is equal to the feature value of the stored target rendering command queue (referred to as the first value), the target rendering command queue includes multiple corresponding to the Xth (N>X≥1) image frames. The rendering command indicates that the Nth image frame is overlapped with the Xth image frame, and the first SM unit can directly render the Nth image frame by using the rendering result of the X image frames, and the rendering result may include texture information and shadow information. Wait. Correspondingly, the first SM unit locally obtains a rendering result of the Xth (N>X≥1) image frames corresponding to the target rendering command queue, and renders the Nth image frame according to the rendering result of the X image frames. In this scenario, the process of rendering the Nth image frame does not need to occupy additional hardware resources, which can reduce the hardware resources used in image rendering and reduce the power consumption of the image processing device.
若本地未存储有与第一渲染命令队列的特征值相等的其他渲染命令队列的特征If no features of other rendering command queues equal to the feature values of the first rendering command queue are stored locally
值,则说明第N个图像帧与其前面图像帧相比,第N个图像帧发生了变化,第一SM单元调用第一渲染命令队列中的所有渲染命令,渲染第N个图像帧。在这种场景中,渲染第N个图像帧的过程需要额外占用硬件资源,例如显存、内存等。The value indicates that the Nth image frame is changed compared to the previous image frame, and the first SM unit calls all rendering commands in the first rendering command queue to render the Nth image frame. In this scenario, the process of rendering the Nth image frame requires additional hardware resources such as memory, memory, and the like.
可选的,本申请实施例中渲染命令队列的特征值可以为渲染命令队列的安全哈希算法(Secure Hash Algorithm,SHA)值。在这种情况下,本申请实施例中的图像处理装置计算第一渲染命令队列的特征值即为图像处理装置计算第一渲染命令队列的SHA值。Optionally, the feature value of the rendering command queue in the embodiment of the present application may be a Secure Hash Algorithm (SHA) value of the rendering command queue. In this case, the image processing apparatus in the embodiment of the present application calculates the feature value of the first rendering command queue, that is, the image processing device calculates the SHA value of the first rendering command queue.
具体的,图像处理装置计算第一渲染命令队列的SHA值的方法为:第一SM单元通过计算存储第一渲染命令队列中的多个渲染命令的缓存的SHA值来确定第一渲染命令队列的SHA值。Specifically, the method for the image processing apparatus to calculate the SHA value of the first rendering command queue is: the first SM unit determines the first rendering command queue by calculating a stored SHA value of the plurality of rendering commands in the first rendering command queue. SHA value.
可选的,第一SM单元还可直接对照第一渲染命令队列中的命令,从本地存储中获取与第一渲染命令队列相同的目标命令队列,并将该目标命令队列对应的第X个图像帧的渲染结果作为第N个图像帧的渲染结果。Optionally, the first SM unit may directly obtain the same target command queue as the first rendering command queue from the local storage, and directly compare the Xth image corresponding to the target command queue with the command in the first rendering command queue. The rendering result of the frame is the result of rendering the Nth image frame.
具体的,图像处理装置在渲染第N个图像帧后,还存储第N个图像帧的渲染结果,便于渲染后续重复图像帧时使用。Specifically, after the image processing device renders the Nth image frame, the image processing device further stores the rendering result of the Nth image frame, which is convenient for rendering the subsequent repeated image frame.
S303、图像处理装置中的GPU采用第二线程执行第一计算命令队列包括的计算命令响应,计算第N+1个图像帧。S303. The GPU in the image processing apparatus uses a second thread to execute a calculation command response included in the first calculation command queue, and calculates an N+1th image frame.
图像处理装置的GPU中的另一空闲SM单元(简称为:第二SM单元)采用第二线程执行第一计算命令队列包括的计算命令响应,计算第N+1个图像帧。Another idle SM unit (abbreviated as: the second SM unit) in the GPU of the image processing apparatus executes the calculation command response included in the first calculation command queue by using the second thread, and calculates the N+1th image frame.
S304、图像处理装置获取并行处理消息,该行处理消息用于通知在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。S304. The image processing apparatus acquires a parallel processing message, where the line processing message is used to notify that all pixels of the (N+1)th image frame are calculated in the process of rendering the Nth image frame.
具体的,CPU在生成第一渲染命令队列和第一计算命令队列的过程中,还生成并 行处理消息。在生成并行处理消息后,CPU向GPU发送该并行处理消息。Specifically, in the process of generating the first rendering command queue and the first computing command queue, the CPU further generates and Line processing messages. After generating the parallel processing message, the CPU sends the parallel processing message to the GPU.
S305、图像处理装置中的GPU响应并行处理消息,并行运行第一线程和第二线程。S305. The GPU in the image processing apparatus responds to the parallel processing message, and runs the first thread and the second thread in parallel.
具体的,GPU在接收到CPU发送的并行处理消息后,第一SM单元和第二SM单元响应该并行处理消息,使得在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。Specifically, after receiving the parallel processing message sent by the CPU, the first SM unit and the second SM unit respond to the parallel processing message, so that the N+1th image frame is calculated during the process of rendering the Nth image frame. All pixels.
综上所述,本申请实施例中采用独立的两个线程完成渲染任务和计算任务,且在渲染第N个图像帧的过程中,计算第N+1个图像帧的所有像素。图4示出了本申请实施例中图像处理装置处理图像帧的流程。图4与图1相比可以看出,现有技术中的GPU串行执行计算任务和渲染任务,只有在渲染完当前图像帧后,才能够对下一图像帧进行处理。而本申请实施例中的GPU在渲染第N个图像帧的过程中,即可计算第N+1个图像帧的所有像素。与现有技术相比,本申请实施例提供的图像处理装置处理图像帧效率较快。In summary, in the embodiment of the present application, two independent threads are used to complete the rendering task and the computing task, and in the process of rendering the Nth image frame, all pixels of the N+1th image frame are calculated. FIG. 4 shows a flow of processing an image frame by the image processing apparatus in the embodiment of the present application. As can be seen from FIG. 4, the GPU in the prior art performs the computing task and the rendering task serially, and the next image frame can be processed only after the current image frame is rendered. In the process of rendering the Nth image frame, the GPU in the embodiment of the present application can calculate all pixels of the N+1th image frame. Compared with the prior art, the image processing apparatus provided by the embodiment of the present application processes the image frame more efficiently.
此外,对于重复的图像帧而言,本申请实施例中的GPU可根据存储的渲染结果直接渲染重复的图像帧,减少图像渲染时占用的硬件资源,减少图像处理装置的功耗。In addition, for the repeated image frames, the GPU in the embodiment of the present application can directly render the repeated image frames according to the stored rendering results, reduce hardware resources occupied during image rendering, and reduce power consumption of the image processing apparatus.
本申请实施例提供一种图像处理装置,该图像处理装置用于执行以上图像处理方法中的图像处理装置所执行的步骤。本申请实施例提供的图像处理装置可以包括相应步骤所对应的模块。An embodiment of the present application provides an image processing apparatus for performing the steps performed by the image processing apparatus in the above image processing method. The image processing apparatus provided by the embodiment of the present application may include a module corresponding to the corresponding step.
本申请实施例可以根据上述方法示例对图像处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiment of the present application may divide the function module into the image processing device according to the above method example. For example, each function module may be divided according to each function, or two or more functions may be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. The division of modules in the embodiments of the present application is schematic, and is only a logical function division, and may be further divided in actual implementation.
在采用对应各个功能划分各个功能模块的情况下,图5示出了上述实施例中所涉及的图像处理装置的一种可能的结构示意图。该图像处理装置包括:获取单元501、计算单元502、渲染单元503、存储单元504以及确定单元505。In the case where the respective functional modules are divided by corresponding functions, FIG. 5 shows a possible structural diagram of the image processing apparatus involved in the above embodiments. The image processing apparatus includes an acquisition unit 501, a calculation unit 502, a rendering unit 503, a storage unit 504, and a determination unit 505.
获取单元501用于支持图像处理装置执行图3中的S300、S301和S304;计算单元502用于支持图像处理装置执行图3中的S303;渲染单元503用于支持图像处理装置执行图3中的S302;存储单元504用于支持图像处理装置存储已渲染的图像帧的渲染结果,还用于支持图像处理装置存储已渲染图像帧的渲染命令队列的SHA值;确定单元505用于支持图像处理装置确定本地是否存储有与第一渲染命令队列的特征值相同的其他渲染命令队列的特征值。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。The obtaining unit 501 is configured to support the image processing apparatus to execute S300, S301, and S304 in FIG. 3; the calculating unit 502 is configured to support the image processing apparatus to execute S303 in FIG. 3; and the rendering unit 503 is configured to support the image processing apparatus to perform the image processing apparatus in FIG. S302; the storage unit 504 is configured to support the image processing device to store the rendering result of the rendered image frame, and is further configured to support the image processing device to store the SHA value of the rendering command queue of the rendered image frame; the determining unit 505 is configured to support the image processing device It is determined whether the feature value of the other rendering command queues having the same feature value as the first rendering command queue is stored locally. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional descriptions of the corresponding functional modules, and details are not described herein again.
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的图像处理装置的一种可能的结构示意图。如图6所示,该图像处理装置包括:处理模块60和通信模块61。处理模块60用于对该图像处理装置的动作进行控制管理,例如,处理模块60用于支持该图像处理装置执行图3中的S301~S305,和/或用于本申请所描述的技术的其它过程。通信模块61用于支持该图像处理装置与外部设备的通信,例如,通信模块61用于支持该图像处理装置执行图3中的S300。 In the case of employing an integrated unit, FIG. 6 shows a possible structural diagram of the image processing apparatus involved in the above embodiment. As shown in FIG. 6, the image processing apparatus includes a processing module 60 and a communication module 61. The processing module 60 is configured to control and manage the actions of the image processing apparatus. For example, the processing module 60 is configured to support the image processing apparatus to perform S301 to S305 in FIG. 3, and/or other techniques for the techniques described in the present application. process. The communication module 61 is for supporting communication of the image processing apparatus with an external device. For example, the communication module 61 is for supporting the image processing apparatus to execute S300 in FIG.
其中,本申请实施例中的处理模块60可以是处理器或控制器,例如可以是CPU、GPU或DSP。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。The processing module 60 in the embodiment of the present application may be a processor or a controller, and may be, for example, a CPU, a GPU, or a DSP. It is possible to implement or carry out the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
本申请实施例中的通信模块61可以为用于与外部设备交互数据的蓝牙模块,还可以包括与蓝牙模块对应的RF电路。RF电路用于信息收发或通话过程中接收和发送信号。The communication module 61 in the embodiment of the present application may be a Bluetooth module for interacting with external devices, and may further include an RF circuit corresponding to the Bluetooth module. The RF circuit is used to receive and transmit signals during the transmission or reception of information or during a call.
本申请实施例中的通信模块61也可以为用于与外部设备交互数据的通信接口,英文全称:Communication Interface。该通信模块可以包括两个通信接口,一个用于向外部设备发送数据的发送接口和一个用于接收来自外部设备的数据的接收接口,即图像处理装置可以通过两个不同的通信接口分别实现数据的接收和数据的发送。当然,该通信模块61可以将数据接收功能和数据发送功能集成在一个通信接口上,该通信接口具备数据接收功能和数据发送功能。其中,该通信接口可以集成在蓝牙芯片或者NFC芯片上。The communication module 61 in the embodiment of the present application may also be a communication interface for interacting with external devices, the full name of the English: Communication Interface. The communication module may include two communication interfaces, a transmission interface for transmitting data to an external device and a receiving interface for receiving data from the external device, that is, the image processing device may implement data through two different communication interfaces respectively. The receipt and transmission of data. Of course, the communication module 61 can integrate the data receiving function and the data transmitting function on a communication interface having a data receiving function and a data transmitting function. The communication interface can be integrated on a Bluetooth chip or an NFC chip.
本申请实施例中的通信模块61还可以是收发器或收发电路等。The communication module 61 in the embodiment of the present application may also be a transceiver or a transceiver circuit or the like.
可选的,如图6所示,该图像处理装置还可以包括一些输入模块62,用于实现用户与该图像处理装置的交互。Optionally, as shown in FIG. 6, the image processing apparatus may further include an input module 62 for implementing interaction between the user and the image processing apparatus.
其中,输入模块62可以接收用户输入的数字或字符信息,以产生与用户设置或功能控制有关的信号输入。在本申请具体实施方式中,输入模块62可以是触控面板,也可以是其他人机交互界面,例如实体输入键、麦克风等,还可是其他外部信息撷取装置,例如摄像头等。The input module 62 can receive numeric or character information input by the user to generate a signal input related to user setting or function control. In the specific implementation of the present application, the input module 62 may be a touch panel, or may be other human-computer interaction interfaces, such as physical input keys, microphones, etc., and may also be other external information capture devices, such as cameras.
在本申请的其他实施方式中,输入模块62所采用的实体输入键可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。麦克风形式的输入模块62可以收集用户或环境输入的语音并将其转换成电信号形式的、处理模块60可执行的命令。In other implementations of the present application, the physical input keys employed by the input module 62 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.). The input module 62 in the form of a microphone can collect the voice input by the user or the environment and convert it into a command executable by the processing module 60 in the form of an electrical signal.
可选的,如图6所示,该图像处理装置还可以包括一些输出模块63,用于实现用户与该图像处理装置的交互。Optionally, as shown in FIG. 6, the image processing apparatus may further include an output module 63 for implementing interaction between the user and the image processing apparatus.
输出模块63包括但不限于影像输出模块和声音输出模块。影像输出模块用于输出文字、图片和/或视频。所述影像输出模块可包括显示面板,例如采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)、场发射显示器(Field Emission Display,FED)等形式来配置的显示面板。所述影像输出模块可以包括单个显示面板或不同尺寸的多个显示面板。在本申请的具体实施方式中,上述输入模块62所采用的触控面板亦可同时作为输出模块63的显示面板。例如,当触控面板检测到在其上的触摸或接近的手势操作后,传送给处理模块60以确定触摸事件的类型,随后处理模块60根据触摸事件的类型在显示面板上提供相应的视觉输出。The output module 63 includes, but is not limited to, an image output module and a sound output module. The image output module is used to output text, pictures and/or video. The image output module may include a display panel, such as a liquid crystal display (LCD), an organic light-emitting diode (OLED), a field emission display (FED), or the like. Display panel. The image output module may include a single display panel or a plurality of display panels of different sizes. In the embodiment of the present application, the touch panel used by the input module 62 can also serve as the display panel of the output module 63. For example, when the touch panel detects a touch or proximity gesture operation thereon, it is transmitted to the processing module 60 to determine the type of the touch event, and then the processing module 60 provides a corresponding visual output on the display panel according to the type of the touch event. .
如图6所示,输入模块62与输出模块63可以作为两个独立的部件来实现图像处理装置的输入和输出功能,但是在某些实施例中,可以将输入模块62与输出模块63集成一体而实现图像处理装置的输入和输出功能(如图6所示将输入模块62与输出模块63包含在一个虚线框内,用以表示输入模块62与输出模块63集成为一体)。As shown in FIG. 6, the input module 62 and the output module 63 can function as two separate components to implement the input and output functions of the image processing apparatus, but in some embodiments, the input module 62 can be integrated with the output module 63. The input and output functions of the image processing apparatus are implemented (the input module 62 and the output module 63 are included in a broken line frame as shown in FIG. 6 to indicate that the input module 62 and the output module 63 are integrated into one body).
可选的,本申请实施例中的图像处理装置还包括存储模块64,用于存储已渲染的 图像帧的渲染结果,还用于支持图像处理装置存储已渲染图像帧的渲染命令队列的SHA值。Optionally, the image processing apparatus in the embodiment of the present application further includes a storage module 64, configured to store the rendered The rendering result of the image frame is also used to support the image processing device to store the SHA value of the rendering command queue of the rendered image frame.
本申请实施例中的处理模块60可以是图2中的处理器101,通信模块61可以是图2中的天线,输入模块62可以是图2中的112和104-1,输出模块63可以是图2中的显示器104-2,存储模块64可以是图2中的存储器103。The processing module 60 in the embodiment of the present application may be the processor 101 in FIG. 2, the communication module 61 may be the antenna in FIG. 2, the input module 62 may be 112 and 104-1 in FIG. 2, and the output module 63 may be In the display 104-2 of FIG. 2, the storage module 64 may be the memory 103 of FIG.
当图像处理装置运行时,该图像处理装置执行如图3所示的实施例的图像处理方法。具体的图像处理方法可参见上述如图3所示的实施例中的相关描述,此处不再赘述。When the image processing apparatus operates, the image processing apparatus executes the image processing method of the embodiment as shown in FIG. For a specific image processing method, refer to the related description in the foregoing embodiment shown in FIG. 3, and details are not described herein again.
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当图像处理装置中的处理器在执行该程序代码时,该图像处理装置执行如图3所示的图像处理方法。Another embodiment of the present application also provides a computer readable storage medium including one or more program codes, the one or more programs including instructions, when a processor in an image processing apparatus is executing the At the time of the program code, the image processing apparatus executes the image processing method as shown in FIG.
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;图像处理装置的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得图像处理装置实施执行图3所示的图像处理方法中的步骤。In another embodiment of the present application, there is also provided a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the image processing apparatus is The computer readable storage medium reads the computer executable instructions, and the at least one processor executes the computer to execute the instructions such that the image processing apparatus implements the steps in performing the image processing method illustrated in FIG.
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and brevity of the description, only the division of the above functional modules is illustrated. In practical applications, the above functions can be allocated according to needs. It is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. For the specific working process of the system, the device and the unit described above, reference may be made to the corresponding process in the foregoing method embodiments, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be used. Combinations can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to 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 application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动 硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application, in essence or the contribution to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: flash memory, mobile A variety of media that can store program code, such as hard disks, read-only memories, random access memories, disks, or optical disks.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。 The foregoing is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. . Therefore, the scope of protection of the present application should be determined by the scope of the claims.

Claims (11)

  1. 一种图像处理方法,其特征在于,包括:An image processing method, comprising:
    获取第一渲染命令队列,所述第一渲染命令队列包括与第N个图像帧对应的多个渲染命令,N≥1;Obtaining a first rendering command queue, where the first rendering command queue includes multiple rendering commands corresponding to the Nth image frame, N≥1;
    获取第一计算命令队列,所述第一计算命令队列包括与第N+1个图像帧对应的多个计算命令;Obtaining a first calculation command queue, where the first calculation command queue includes a plurality of calculation commands corresponding to the (N+1)th image frame;
    根据所述第一渲染命令队列,渲染所述第N个图像帧,并在渲染所述第N个图像帧的过程中,根据所述第二计算命令队列,计算所述第N+1个图像帧的所有像素。And rendering the Nth image frame according to the first rendering command queue, and calculating the (N+1)th image according to the second calculation command queue in the process of rendering the Nth image frame All pixels of the frame.
  2. 根据权利要求1所述的图像处理方法,其特征在于,所述图像处理方法还包括:The image processing method according to claim 1, wherein the image processing method further comprises:
    获取并行处理消息,所述并行处理消息用于通知在渲染所述第N个图像帧的过程中,计算所述第N+1个图像帧的所有像素;Obtaining a parallel processing message, the parallel processing message is configured to notify, in the process of rendering the Nth image frame, all pixels of the (N+1)th image frame;
    所述根据所述第一渲染命令队列,渲染所述第N个图像帧,并根据所述第二计算命令队列,计算所述第N+1个图像帧的所有像素,具体包括:And the calculating, according to the first rendering command queue, the Nth image frame, and calculating, according to the second calculation command queue, all pixels of the (N+1)th image frame, specifically:
    采用第一线程执行所述第一渲染命令队列包括的渲染命令,渲染所述第N个图像帧;Performing, by using the first thread, a rendering command included in the first rendering command queue to render the Nth image frame;
    采用第二线程执行所述第一计算命令队列包括的计算命令响应,计算所述第N+1个图像帧;Performing, by using a second thread, a calculation command response included in the first calculation command queue, and calculating the (N+1)th image frame;
    响应所述并行处理消息,并行运行所述第一线程和所述第二线程。The first thread and the second thread are run in parallel in response to the parallel processing message.
  3. 根据权利要求1或2所述的图像处理方法,其特征在于,所述图像处理方法还包括:The image processing method according to claim 1 or 2, wherein the image processing method further comprises:
    根据预设算法,计算所述第一渲染命令队列的特征值;Calculating a feature value of the first rendering command queue according to a preset algorithm;
    存储所述第一渲染命令队列的特征值;Storing a feature value of the first rendering command queue;
    当N>1时,所述根据所述第一渲染命令队列,渲染所述第N个图像帧,具体包括:When N>1, the rendering the Nth image frame according to the first rendering command queue includes:
    确定所述第一渲染命令队列的特征值与存储的第一数值相等,所述第一数值为目标渲染命令队列的特征值,所述目标渲染命令队列包括与第X个图像帧对应的多个渲染命令,N>X≥1;Determining that the feature value of the first rendering command queue is equal to the stored first value, the first value is a feature value of the target rendering command queue, and the target rendering command queue includes multiple corresponding to the Xth image frame Render command, N>X≥1;
    获取存储的所述第X个图像帧的渲染结果;Obtaining a stored rendering result of the Xth image frame;
    根据所述第X个图像帧的渲染结果,渲染所述第N个图像帧。And rendering the Nth image frame according to a rendering result of the Xth image frame.
  4. 根据权利要求1-3中任意一项所述的图像处理方法,其特征在于,在渲染所述第N个图像帧后,所述图像处理方法还包括:The image processing method according to any one of claims 1 to 3, wherein after the rendering of the Nth image frame, the image processing method further comprises:
    存储第N个图像帧的渲染结果。Stores the rendering result of the Nth image frame.
  5. 一种图像处理装置,其特征在于,包括:An image processing apparatus, comprising:
    获取单元,用于获取第一渲染命令队列,所述第一渲染命令队列包括与第N个图像帧对应的多个渲染命令,N≥1,以及用于获取第一计算命令队列,所述第一计算命令队列包括与第N+1个图像帧对应的多个计算命令;An acquiring unit, configured to acquire a first rendering command queue, where the first rendering command queue includes multiple rendering commands corresponding to the Nth image frame, N≥1, and is configured to acquire a first computing command queue, where a calculation command queue includes a plurality of calculation commands corresponding to the (N+1)th image frame;
    渲染单元,用于根据所述获取单元获取到的所述第一渲染命令队列,渲染所述第N个图像帧;a rendering unit, configured to render the Nth image frame according to the first rendering command queue acquired by the acquiring unit;
    计算单元,用于在所述渲染单元渲染所述第N个图像帧的过程中,根据所述获取 单元获取到的所述第二计算命令队列,计算所述第N+1个图像帧的所有像素。a calculating unit, configured to: according to the obtaining, in the process of rendering the Nth image frame by the rendering unit The second calculation command queue obtained by the unit calculates all pixels of the (N+1)th image frame.
  6. 根据权利要求5所述的图像处理装置,其特征在于,The image processing device according to claim 5, wherein
    所述获取单元,还用于获取并行处理消息,所述并行处理消息用于通知在渲染所述第N个图像帧的过程中,计算所述第N+1个图像帧的所有像素;The acquiring unit is further configured to acquire a parallel processing message, where the parallel processing message is used to notify, in the process of rendering the Nth image frame, all the pixels of the (N+1)th image frame;
    所述渲染单元,具体用于采用第一线程执行所述第一渲染命令队列包括的渲染命令,渲染所述第N个图像帧;The rendering unit is specifically configured to execute, by using a first thread, a rendering command included in the first rendering command queue to render the Nth image frame;
    所述计算单元,具体用于采用第二线程执行所述第一计算命令队列包括的计算命令响应,计算所述第N+1个图像帧,以及具体用于响应所述获取单元获取到的所述并行处理消息,在所述渲染单元渲染所述第N个图像帧的过程中,计算所述第N+1个图像帧的所有像素。The calculating unit is configured to perform, by using a second thread, a calculation command response included in the first calculation command queue, calculate the (N+1)th image frame, and specifically, in response to the acquiring unit, Parallel processing of the message, in the process of rendering the Nth image frame by the rendering unit, calculating all pixels of the (N+1)th image frame.
  7. 根据权利要求5或6所述的图像处理装置,其特征在于,The image processing device according to claim 5 or 6, wherein
    所述计算单元,具体用于根据预设算法,计算所述获取单元获取到的所述第一渲染命令队列的特征值;The calculating unit is configured to calculate, according to a preset algorithm, a feature value of the first rendering command queue acquired by the acquiring unit;
    所述图像处理装置还包括存储单元;The image processing device further includes a storage unit;
    所述存储单元,用于存储所述计算单元计算出的所述第一渲染命令队列的特征值;The storage unit is configured to store a feature value of the first rendering command queue calculated by the calculating unit;
    当N>1时,所述图像处理装置还包括确定单元;When N>1, the image processing apparatus further includes a determining unit;
    所述确定单元,用于确定所述计算单元计算出的所述第一渲染命令队列的特征值与存储的第一数值相等,所述第一数值为目标渲染命令队列的特征值,所述目标渲染命令队列包括与第X个图像帧对应的多个渲染命令,N>X≥1;The determining unit is configured to determine that the feature value of the first rendering command queue calculated by the calculating unit is equal to the stored first value, where the first value is a feature value of the target rendering command queue, the target The rendering command queue includes a plurality of rendering commands corresponding to the Xth image frame, N>X≥1;
    所述获取单元,还用于获取存储的所述第X个图像帧的渲染结果;The obtaining unit is further configured to acquire a stored rendering result of the Xth image frame;
    所述渲染单元,具体用于根据所述获取单元获取到的所述第X个图像帧的渲染结果,渲染所述第N个图像帧。The rendering unit is specifically configured to render the Nth image frame according to a rendering result of the Xth image frame acquired by the acquiring unit.
  8. 根据权利要求5-7中任意一项所述的图像处理装置,其特征在于,所述图像处理装置还包括存储单元;The image processing device according to any one of claims 5-7, wherein the image processing device further comprises a storage unit;
    所述存储单元,用于在所述渲染单元渲染所述第N个图像帧后,存储第N个图像帧的渲染结果。The storage unit is configured to store a rendering result of the Nth image frame after the rendering unit renders the Nth image frame.
  9. 一种图像处理装置,其特征在于,所述图像处理装置包括:一个或多个处理器、存储器和通信接口;An image processing apparatus, comprising: one or more processors, a memory, and a communication interface;
    所述存储器、所述通信接口与所述一个或多个处理器连接;所述图像处理装置通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述图像处理装置执行如权利要求1-4中任意一项所述的图像处理方法。The memory, the communication interface is coupled to the one or more processors; the image processing device is in communication with other devices via the communication interface, the memory is for storing computer program code, the computer program code comprising The image processing apparatus performs the image processing method according to any one of claims 1 to 4 when the one or more processors execute the instructions.
  10. 一种计算机存储介质,所述计算机存储介质中存储有计算机程序代码,其特征在于,当所述计算机程序代码在图像处理装置上运行时,使得所述图像处理装置执行如权利要求1-4中任意一项所述的图像处理方法。A computer storage medium having stored therein computer program code, wherein when the computer program code is run on an image processing device, the image processing device is caused to perform as in claims 1-4 The image processing method according to any one of the preceding claims.
  11. 一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在通信设备上运行时,使得所述图像处理装置执行如权利要求1-4中任意一项所述的图像处理方法。 A computer program product comprising instructions, wherein the image processing apparatus, when run on a communication device, causes the image processing apparatus to perform the image processing method of any one of claims 1-4.
PCT/CN2017/106153 2017-10-13 2017-10-13 Image processing method and apparatus WO2019071600A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780066411.2A CN109891388A (en) 2017-10-13 2017-10-13 A kind of image processing method and device
PCT/CN2017/106153 WO2019071600A1 (en) 2017-10-13 2017-10-13 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/106153 WO2019071600A1 (en) 2017-10-13 2017-10-13 Image processing method and apparatus

Publications (1)

Publication Number Publication Date
WO2019071600A1 true WO2019071600A1 (en) 2019-04-18

Family

ID=66101228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/106153 WO2019071600A1 (en) 2017-10-13 2017-10-13 Image processing method and apparatus

Country Status (2)

Country Link
CN (1) CN109891388A (en)
WO (1) WO2019071600A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555900B (en) * 2019-09-05 2023-11-17 网易(杭州)网络有限公司 Rendering instruction processing method and device, storage medium and electronic equipment
CN111340681B (en) * 2020-02-10 2024-02-20 青岛海信宽带多媒体技术有限公司 Image processing method and device
CN111651131B (en) * 2020-05-18 2024-02-27 武汉联影医疗科技有限公司 Image display method and device and computer equipment
CN114612579A (en) * 2020-12-18 2022-06-10 完美世界(北京)软件科技发展有限公司 Image rendering method and device, computer equipment and readable storage medium
CN114443189B (en) * 2021-08-20 2023-01-13 荣耀终端有限公司 Image processing method and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080211822A1 (en) * 2004-06-23 2008-09-04 Nhn Corporation Method and System For Loading of Image Resource
CN103593168A (en) * 2012-08-13 2014-02-19 株式会社突飞软件 Rendering processing apparatus and method using multiprocessing
CN105631921A (en) * 2015-12-18 2016-06-01 网易(杭州)网络有限公司 Method and device for processing image data
CN105701852A (en) * 2014-12-09 2016-06-22 三星电子株式会社 Apparatus and method for rendering
CN107203960A (en) * 2016-06-30 2017-09-26 北京新媒传信科技有限公司 image rendering method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080211822A1 (en) * 2004-06-23 2008-09-04 Nhn Corporation Method and System For Loading of Image Resource
CN103593168A (en) * 2012-08-13 2014-02-19 株式会社突飞软件 Rendering processing apparatus and method using multiprocessing
CN105701852A (en) * 2014-12-09 2016-06-22 三星电子株式会社 Apparatus and method for rendering
CN105631921A (en) * 2015-12-18 2016-06-01 网易(杭州)网络有限公司 Method and device for processing image data
CN107203960A (en) * 2016-06-30 2017-09-26 北京新媒传信科技有限公司 image rendering method and device

Also Published As

Publication number Publication date
CN109891388A (en) 2019-06-14

Similar Documents

Publication Publication Date Title
US9881353B2 (en) Buffers for display acceleration
US11809705B2 (en) Touch control method and apparatus
WO2019071600A1 (en) Image processing method and apparatus
WO2019183785A1 (en) Frame rate adjustment method and terminal
CN111712787B (en) Display control method and terminal
US20220283676A1 (en) Application Window Display Method and Terminal
CN108513671B (en) Display method and terminal for 2D application in VR equipment
WO2019028912A1 (en) Application switching method and device
WO2019149028A1 (en) Application download method and terminal
CN110178111B (en) Image processing method and device for terminal
WO2015014135A1 (en) Mouse pointer control method and apparatus, and terminal device
US9565290B2 (en) Method for performing function in call mode and portable electronic device for implementing the method
CN114785766B (en) Control method, terminal and server of intelligent equipment
CN114143280B (en) Session display method and device, electronic equipment and storage medium
CN113485596B (en) Virtual model processing method and device, electronic equipment and storage medium
US20200081799A1 (en) Image Synchronization Method and Device, and Server
CN113448692A (en) Distributed graph computing method, device, equipment and storage medium
CN112260845A (en) Method and device for accelerating data transmission
CN112817768B (en) Animation processing method, device, equipment and computer readable storage medium
CN115037702B (en) Message distribution and data transmission methods and equipment
CN111526221B (en) Domain name quality determining method, device and storage medium
WO2023274125A1 (en) Call processing method and related device thereof
CN115271837A (en) Shunting method, shunting device, shunting equipment and storage medium
CN114296620A (en) Information interaction method and device, electronic equipment and storage medium
CN115658207A (en) Application program management method, device, equipment and storage medium

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: 17928373

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: 17928373

Country of ref document: EP

Kind code of ref document: A1