CN110049299B - Trapezoidal correction method and device, computer equipment and storage medium - Google Patents
Trapezoidal correction method and device, computer equipment and storage medium Download PDFInfo
- Publication number
- CN110049299B CN110049299B CN201910317590.3A CN201910317590A CN110049299B CN 110049299 B CN110049299 B CN 110049299B CN 201910317590 A CN201910317590 A CN 201910317590A CN 110049299 B CN110049299 B CN 110049299B
- Authority
- CN
- China
- Prior art keywords
- correction
- instruction
- gpu
- projected image
- calling
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3179—Video signal processing therefor
- H04N9/3185—Geometric adjustment, e.g. keystone or convergence
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Transforming Electric Information Into Light Information (AREA)
- Projection Apparatus (AREA)
Abstract
The application relates to a trapezoidal correction method, a trapezoidal correction device, computer equipment and a storage medium, wherein the method comprises the following steps: acquiring an operation instruction of a user, determining a scheduling instruction corresponding to the operation instruction according to the operation instruction, calling target execution hardware corresponding to the scheduling instruction, and performing trapezoid correction on the projected image; because the target execution hardware comprises at least one of the display engine and the GPU, the GPU and the display engine are reasonably matched and scheduled through software strategy, the advantages of the respective trapezoidal correction capability of the GPU and the display engine are fully exerted, the trapezoidal correction can be realized according to different execution hardware, and the trapezoidal correction can be realized and has good trapezoidal correction effect even when the resolution ratio is too large.
Description
Technical Field
The present application relates to the field of image processing technologies, and in particular, to a method and an apparatus for trapezoidal correction, a computer device, and a storage medium.
Background
With the rapid development of multimedia technology, the application development of projectors is increasingly improved, and particularly, the humanized design and the characteristic function of large-screen projectors are popular among people. In daily use, the position of the projector is as far as possible perpendicular to the projection screen to ensure the projection effect, and if the position of the projector and the projection screen are not perpendicular to each other, the picture can generate a trapezoid.
The picture is guaranteed to be in a standard rectangular shape by adjusting with a keystone correction function, which is generally divided into horizontal keystone correction and vertical keystone correction. Conventional keystone correction is usually implemented by a Graphics Processing Unit (GPU) to perform the correction function.
However, when the resolution is too large, the GPU is overloaded, so that the performance of the GPU for implementing the keystone correction function cannot keep pace, and the keystone correction effect is poor or the keystone correction cannot be implemented.
Disclosure of Invention
In view of the above, it is necessary to provide a keystone correction method, apparatus, computer device and storage medium for solving the above technical problems.
In a first aspect, an embodiment of the present application provides a trapezoidal correction method, including:
acquiring an operation instruction of a user; the operation instruction is used for indicating the trapezoidal correction of the projected image;
determining a scheduling instruction corresponding to the operation instruction according to the operation instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
calling target execution hardware corresponding to the scheduling instruction, and performing trapezoidal correction on the projected image; the target execution hardware includes at least one of a display engine, a graphics processor, GPU.
In one embodiment, the invoking target execution hardware corresponding to the scheduling instruction to perform keystone correction on the projected image includes: if the scheduling instruction comprises a vertical correction instruction, calling a display engine to perform vertical trapezoidal correction on the projected image; if the scheduling instruction comprises a horizontal correction instruction, calling a GPU (graphics processing unit) to perform horizontal trapezoidal correction on the projected image; and if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, calling the GPU and the display engine to perform trapezoidal correction on the projected image.
In one embodiment, the invoking the GPU and the display engine to perform the keystone correction on the projected image includes: calling a display engine, and performing vertical trapezoidal correction on the projected image to obtain a first corrected projected image; and calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the invoking the GPU to perform horizontal keystone correction on the first corrected projection image includes: acquiring state information of a display environment; the status information includes bandwidth and current resolution; and if the state information meets the preset condition, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the preset conditions include the following conditions: the bandwidth is greater than a preset bandwidth threshold; the current resolution is less than a preset resolution threshold.
In one embodiment, invoking the display engine to perform vertical keystone correction on the projected image to obtain a first corrected projected image includes: calling a display engine, and performing vertical trapezoidal correction on the projected image to acquire write-back data; creating a display picture and capturing write-back data; and filling the display picture according to the write-back data, and acquiring a first corrected projection image.
In one embodiment, the method further includes: the trapezoidal corrected projection image is displayed on the projection plane.
In a second aspect, an embodiment of the present application provides a keystone correction apparatus, including:
the acquisition module is used for acquiring an operation instruction of a user; the operation instruction is used for indicating that the trapezoidal correction is carried out on the projected image;
the determining module is used for determining a scheduling instruction corresponding to the operating instruction according to the operating instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
the correction module is used for calling target execution hardware corresponding to the scheduling instruction and carrying out trapezoidal correction on the projected image; the target execution hardware includes at least one of a display engine, a graphics processor, GPU.
In a third aspect, an embodiment of the present application provides a computer device, including a memory and a processor, where the memory stores a computer program, and the processor implements the steps of the method in any embodiment of the first aspect when executing the computer program.
In a fourth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the method described in any one of the embodiments in the first aspect.
The trapezoidal correction method, the trapezoidal correction device, the computer equipment and the storage medium, which are provided by the embodiment of the application, are used for acquiring an operation instruction of a user and determining a scheduling instruction corresponding to the operation instruction according to the operation instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction, then target execution hardware corresponding to the scheduling instruction is called, and trapezoidal correction is carried out on the projection image.
Drawings
FIG. 1 is a diagram of an exemplary implementation of the keystone correction method;
FIG. 2 is a flow chart illustrating an exemplary keystone correction method;
FIG. 3 is a schematic flowchart of an implementation manner of S203 in the embodiment of FIG. 2;
FIG. 4 is a schematic flowchart of an implementation manner of S303 in the embodiment of FIG. 3;
FIG. 5 is a flowchart illustrating an implementation manner of S401 in the embodiment of FIG. 4;
FIG. 6 is a flowchart illustrating an implementation manner of S402 in the embodiment of FIG. 4;
FIG. 7 is a block diagram showing the structure of a trapezoidal correction device according to an embodiment;
FIG. 8 is a block diagram showing the structure of a trapezoid correcting unit in another embodiment;
FIG. 9 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The trapezoidal correction method provided by the embodiment of the application can be applied to the application environment shown in fig. 1. The embedded system module 101 may control the projection device 102 through bluetooth, infrared, or a key, and the projection device 102 obtains data from the embedded system module 101. The embedded system module 101 is formed by integrating an on-chip soc in the projection device 102, and is a core of the projection device 102; projection device 102 may be a projector or the like.
The technical solution of the present application will be described in detail below with specific examples. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments.
Fig. 2 is a flowchart of a keystone correction method in an embodiment, which is executed by the projection apparatus 102 in fig. 1 and relates to a keystone correction process. As shown in fig. 2, the method specifically includes the following steps:
s201, acquiring an operation instruction of a user; the operation instruction is used for instructing to perform trapezoidal correction on the projected image.
The operation instruction refers to a correction start command initiated by a user to the computer device, and may be an instruction sent by clicking a correction button on a service operation interface of the projector by the user or by a user voice operation command. Specifically, the user can select different trapezoidal correction types through the operation instruction, and then the computer device determines the trapezoidal correction type corresponding to the operation instruction after receiving the operation instruction of the user, and further performs trapezoidal correction on the projection image. For example, the projected image is a horizontal trapezoid, the user can select horizontal correction in the correction mode of the computer device, and the computer device obtains the horizontal correction operation instruction of the user.
S202, determining a scheduling instruction corresponding to the operation instruction according to the operation instruction; the scheduling instruction includes at least one of a vertical correction instruction and a horizontal correction instruction.
The scheduling instruction refers to different coordination strategies corresponding to different operation instructions and is used for coordinating the work of a plurality of hardware. Illustratively, if the operation instruction of the user is selected as the vertical trapezoidal correction, the corresponding scheduling instruction is a vertical correction instruction; if the operation instruction of the user is selected as horizontal trapezoidal correction, the corresponding scheduling instruction is a horizontal correction instruction; if the operation instruction of the user selects the horizontal-vertical trapezoidal correction, the corresponding scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction.
S203, calling target execution hardware corresponding to the scheduling instruction, and performing trapezoidal correction on the projected image; the target execution hardware includes at least one of a display engine, a graphics processor, GPU.
The display engines can be one or more, the display engines can be on-chip SOCs, and it should be noted that, because the complexity and cost of the display engines for implementing the horizontal correction algorithm are high, horizontal trapezoidal correction is difficult to implement, and only the vertical correction function can be implemented temporarily; the GPU is a microprocessor dedicated to image processing, and can implement horizontal keystone correction and vertical keystone correction, but when the requirement for image resolution is too high, keystone correction and high resolution are implemented at the same time, which may result in that the performance of the GPU cannot keep pace.
Specifically, the target execution hardware is used to keystone correct the projected image through a built-in correction algorithm, such as a difference algorithm. Illustratively, if the scheduling instruction comprises a vertical correction instruction, the corresponding target execution hardware comprises a display engine; if the scheduling instruction includes a horizontal correction instruction, the corresponding target execution hardware includes a GPU.
In the above embodiment, an operation instruction of a user is obtained, a scheduling instruction corresponding to the operation instruction is determined according to the operation instruction, target execution hardware corresponding to the scheduling instruction is called, and trapezoidal correction is performed on the projected image; because the target execution hardware comprises at least one of the display engine and the GPU, the GPU and the display engine are reasonably matched and scheduled through software strategy, the advantages of the respective trapezoidal correction capability of the GPU and the display engine are fully exerted, the trapezoidal correction can be realized according to different execution hardware, and the trapezoidal correction can be realized and has good trapezoidal correction effect even when the resolution ratio is too large.
In one embodiment, as shown in fig. 3, the step S203 of invoking target execution hardware corresponding to the scheduling instruction and performing keystone correction on the projection image includes:
s301, if the scheduling command comprises a vertical correction command, calling a display engine to perform vertical trapezoidal correction on the projected image.
Specifically, if the scheduling instruction comprises a vertical correction instruction, calling display engine hardware, performing vertical trapezoidal correction on the projected image through a preset vertical correction algorithm built in the display engine, and sending the image after the vertical trapezoidal correction to a display screen for display.
And S302, if the scheduling instruction comprises a horizontal correction instruction, calling a GPU to perform horizontal trapezoidal correction on the projected image.
If the scheduling instruction comprises a vertical correction instruction, only the GPU is needed to be called, specifically, if the scheduling instruction comprises a horizontal correction instruction, the GPU is called, and horizontal trapezoid correction is carried out on the projected image through a preset horizontal correction algorithm built in the GPU.
And S303, if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, calling a GPU and a display engine to perform trapezoidal correction on the projection image.
If the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, the GPU and the display engine need to be called, where the display engine comprises at least two, for example, a first display engine and a second display engine. Illustratively, for a client requiring both vertical and horizontal keystone correction, the vertical keystone correction can be performed by the first display engine and then written back to the memory, and then the horizontal keystone correction is performed by the GPU and finally sent to the second display engine for display.
In the above embodiment, if the scheduling instruction includes a vertical correction instruction, a display engine is called to perform vertical keystone correction on the projected image; if the scheduling instruction comprises a horizontal correction instruction, calling a GPU (graphics processing unit) to perform horizontal trapezoidal correction on the projected image; if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, the GPU and the display engine are called to perform trapezoidal correction on the projected image, the advantages of the trapezoidal correction capability of the GPU and the trapezoidal correction capability of the display engine are fully exerted, trapezoidal correction can be achieved for different trapezoidal correction type requirements, and the trapezoidal correction effect is good.
As an alternative implementation, as shown in fig. 4, S303 "call the GPU and the display engine to perform keystone correction on the projection image," includes:
s401, calling the display engine, and performing vertical trapezoidal correction on the projection image to obtain a first corrected projection image.
Specifically, the first display engine may be invoked, and the vertical keystone correction algorithm built in the first display engine may be used to perform vertical keystone correction on the projection image, so as to obtain a first corrected projection image. As an alternative implementation, as shown in fig. 5, the step S401 of invoking the display engine to perform vertical keystone correction on the projection image and acquiring a first corrected projection image includes:
s501, calling the display engine, performing vertical trapezoidal correction on the projected image, and acquiring write-back data.
Specifically, when the surfefringer sends a layer to the HWC, the first display engine is used to synthesize the layer, and after the layer is synthesized, the first display engine is used to perform vertical keystone correction on the projected image through a preset vertical correction algorithm built in the first display engine, obtain write-back data after the vertical correction, and store the write-back data in the buffer area.
And S502, creating a display screen and capturing the write-back data.
The HWC is responsible for creating a display and fetching the write-back data back from the buffer through the write-back module in the HWC.
S503, filling the display picture according to the write-back data, and acquiring the first correction projection image.
Specifically, the write-back data is filled in the display screen to form a first corrected projection image, and the first corrected projection image is acquired. In the above embodiment, the display engine is called to perform vertical keystone correction on the projected image to obtain write-back data, then a display frame is created, the write-back data is captured, and then the display frame is filled according to the write-back data to obtain the first corrected projected image, so that the vertical correction of the projected image is realized, and further the subsequent correction work of the GPU is reduced.
S402, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
Specifically, for the scheduling instruction including horizontal keystone correction and vertical keystone correction, after the first display engine is called to perform vertical keystone correction on the projected image, the GPU is called to perform horizontal keystone correction on the first corrected projected image, and then the second display engine is used to send the projected image after horizontal keystone correction to the display screen for display.
In the above embodiment, the display engine is called to perform vertical keystone correction on the projection image to obtain the first corrected projection image, then the GPU is called to perform horizontal keystone correction on the first corrected projection image, and then the display engine and the GPU are called to perform horizontal and vertical keystone correction, thereby overcoming the problem that the performance of the GPU in performing the keystone correction function cannot keep up.
In one embodiment, as an optional implementation, the step S402 "invoking the GPU to perform horizontal keystone correction on the first corrected projection image" includes:
s601, acquiring state information of a display environment; the status information includes a bandwidth and a current resolution.
The projection equipment data can be analyzed, information such as bandwidth and current resolution can be acquired, then the state of the current display environment is judged according to the state information, whether the current display environment is suitable for the GPU to process or not is judged, if the current display environment is suitable, the first corrected projection image is issued to the GPU through a surfefinger to complete horizontal correction, and finally the first corrected projection image is transmitted to a second display engine to be displayed and output. .
And S602, if the state information meets the preset condition, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
Optionally, the preset condition includes the following condition: the bandwidth is greater than a preset bandwidth threshold; the current resolution is less than a preset resolution threshold. The preset resolution threshold may be 720P, the preset bandwidth threshold is 5M, and the preset resolution threshold and the preset bandwidth threshold may be adjusted according to actual requirements. For example, if the preset resolution threshold may be 720P and the preset bandwidth threshold is 5M, when the resolution is less than or equal to 720P, it indicates that the GPU may be invoked to perform the horizontal keystone correction function; when the resolution is 1080p, it indicates that the GPU performance cannot keep up, and that call the GPU for horizontal keystone correction cannot be performed.
It should be noted that, if the state information does not satisfy the preset condition, the GPU may not be invoked to implement the horizontal keystone correction function, for example, for the scheduling instruction including the horizontal correction instruction and the vertical correction instruction, the GPU and the display engine are invoked, during the keystone correction of the projection image, after the display engine obtains the first corrected projection image through vertical keystone correction, if the state information does not satisfy the preset condition, the GPU may not perform horizontal keystone correction on the first corrected projection image, and the first corrected projection image obtained through vertical keystone correction is the final corrected image.
In the above embodiment, by acquiring the state information of the display environment, where the state information includes the bandwidth and the current resolution, if the state information satisfies the preset condition, the GPU is called to perform horizontal keystone correction on the first corrected projection image, so as to avoid a problem that the resolution cannot be kept up due to the fact that the keystone correction is forcibly performed when the performance of the GPU does not meet the requirement.
In one embodiment, the method provides that when a 1080p60 video is played, 1 video layer and 2 UI layers are used, the contrast data of playing and keystone correction is realized through a display engine, a GPU and a display engine + GPU mode, and specifically,
by means of a display engine:
bandwidth consumption: 1920 × 1080 ═ (4 × 2+1.5) × 60/1024/1024 ═ 1127 MB/s;
pixel fill 435 Mpixel/s;
by means of a display engine + GPU:
bandwidth consumption: (4 × 2+1.5 × 1 × 0.7+1.5 × 2)1920 × 1080 × 60/1024/1024 ═ 1785 MB/s;
pixel filling: 435Mpixel/s
GPU mode:
bandwidth consumption: (4 × 2+1.5+1.5 × 4) × 1920 × 1080 × 60/1024/1024 ═ 1839MB/s
Pixel filling: 746Mpixel/s
Compared with the data of the embodiment, the invention can save cost, meet the GPU performance, save much power consumption and bandwidth, and especially save more in the specification of more than 4K on the premise of realizing the function.
It should be understood that although the various steps in the flow charts of fig. 2-6 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-6 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performance of the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternating with other steps or at least some of the sub-steps or stages of other steps.
In one embodiment, as shown in fig. 7, there is provided a trapezoidal correction apparatus including: an acquisition module 11, a determination module 12 and a correction module 13, wherein:
the acquisition module 11 is used for acquiring an operation instruction of a user; the operation instruction is used for indicating that the trapezoidal correction is carried out on the projected image;
a determining module 12, configured to determine, according to the operation instruction, a scheduling instruction corresponding to the operation instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
a correction module 13, configured to invoke target execution hardware corresponding to the scheduling instruction, and perform trapezoidal correction on the projection image; the target execution hardware includes at least one of a display engine, a graphics processor, GPU.
In one embodiment, as shown in fig. 8, based on the method shown in fig. 7, the correction module 13 includes:
a first correction unit 130, configured to invoke the display engine to perform vertical keystone correction on the projected image if the scheduling instruction includes a vertical correction instruction;
a second correction unit 131, configured to invoke the GPU to perform horizontal keystone correction on the projected image if the scheduling instruction includes a horizontal correction instruction;
a third correction unit 132, configured to invoke the GPU and the display engine to perform keystone correction on the projection image if the scheduling instruction includes a horizontal correction instruction and a vertical correction instruction.
In one embodiment, the third correction unit 132 is specifically configured to invoke the display engine, perform vertical keystone correction on the projection image, and acquire a first corrected projection image; and calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the third correction unit 132 is specifically configured to acquire status information of the display environment; the status information includes at least one of a bandwidth and a current resolution; and if the state information meets the preset condition, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the preset condition includes at least one of the following conditions: the bandwidth is greater than a preset bandwidth threshold; the current resolution is less than a preset resolution threshold.
In one embodiment, the third correction unit 132 is specifically configured to invoke the display engine, perform vertical keystone correction on the projection image, and obtain write-back data; creating a display picture and capturing the write-back data; and filling the display picture according to the write-back data to obtain the first corrected projection image.
In one embodiment, the apparatus further comprises a display module for displaying the trapezoidal corrected projected image on a projection plane.
For the specific definition of the trapezoidal correction device, reference may be made to the above definition of the trapezoidal correction method, which is not described herein again. The modules in the ladder correction device can be implemented in whole or in part by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 9. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a keystone correction method. The display screen of the computer equipment can be an LCD display screen, and the input device of the computer equipment can be keys, a track ball and the like arranged on the shell of the computer equipment.
Those skilled in the art will appreciate that the architecture shown in fig. 9 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program:
acquiring an operation instruction of a user; the operation instruction is used for indicating that the trapezoidal correction is carried out on the projected image;
determining a scheduling instruction corresponding to the operation instruction according to the operation instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
calling target execution hardware corresponding to the scheduling instruction, and performing trapezoidal correction on the projected image; the target execution hardware includes at least one of a display engine, a graphics processor, GPU.
In one embodiment, the processor, when executing the computer program, further performs the steps of: if the scheduling instruction comprises a vertical correction instruction, calling the display engine to perform vertical trapezoidal correction on the projected image; if the scheduling instruction comprises a horizontal correction instruction, calling the GPU to perform horizontal trapezoid correction on the projected image; and if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, calling the GPU and the display engine to perform trapezoidal correction on the projected image.
In one embodiment, the processor, when executing the computer program, further performs the steps of: calling the display engine, and performing vertical trapezoidal correction on the projected image to obtain a first corrected projected image; and calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the processor, when executing the computer program, further performs the steps of: acquiring state information of a display environment; the state information comprises a bandwidth and a current resolution; and if the state information meets the preset condition, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the processor, when executing the computer program, further implements: the preset conditions include the following conditions: the bandwidth is greater than a preset bandwidth threshold; the current resolution is less than a preset resolution threshold.
In one embodiment, the processor, when executing the computer program, further performs the steps of: calling the display engine, and performing vertical trapezoidal correction on the projected image to acquire write-back data; creating a display picture and capturing the write-back data; and filling the display picture according to the write-back data to obtain the first corrected projection image.
In one embodiment, the processor, when executing the computer program, further performs the steps of: the trapezoidal corrected projection image is displayed on the projection plane.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring an operation instruction of a user; the operation instruction is used for indicating that the trapezoidal correction is carried out on the projected image;
determining a scheduling instruction corresponding to the operation instruction according to the operation instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
calling target execution hardware corresponding to the scheduling instruction, and performing trapezoidal correction on the projected image; the target execution hardware includes at least one of a display engine, a graphics processor, GPU.
In one embodiment, the computer program when executed by the processor further performs the steps of: if the scheduling instruction comprises a vertical correction instruction, calling the display engine to perform vertical trapezoidal correction on the projected image; if the scheduling instruction comprises a horizontal correction instruction, calling the GPU to perform horizontal trapezoid correction on the projected image; and if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, calling the GPU and the display engine to perform trapezoidal correction on the projected image.
In one embodiment, the computer program when executed by the processor further performs the steps of: calling the display engine, and performing vertical trapezoidal correction on the projected image to obtain a first corrected projected image; and calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the computer program when executed by the processor further performs the steps of: acquiring state information of a display environment; the state information comprises a bandwidth and a current resolution; and if the state information meets the preset condition, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
In one embodiment, the computer program when executed by the processor further implements: the preset conditions include the following conditions: the bandwidth is greater than a preset bandwidth threshold; the current resolution is less than a preset resolution threshold.
In one embodiment, the computer program when executed by the processor further performs the steps of: calling the display engine, and performing vertical trapezoidal correction on the projected image to acquire write-back data; creating a display picture and capturing the write-back data; and filling the display picture according to the write-back data to obtain the first corrected projection image.
In one embodiment, the computer program when executed by the processor further performs the steps of: the trapezoidal corrected projection image is displayed on the projection plane.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.
Claims (10)
1. A method of keystone correction, the method comprising:
acquiring an operation instruction of a user; the operation instruction is used for indicating that the trapezoidal correction is carried out on the projected image;
determining a scheduling instruction corresponding to the operation instruction according to the operation instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
calling target execution hardware corresponding to the scheduling instruction, and performing trapezoidal correction on the projected image; the target execution hardware comprises at least one of a display engine, a Graphics Processor (GPU);
if the scheduling instruction comprises a vertical correction instruction, calling the display engine to perform vertical trapezoidal correction on the projected image;
if the scheduling instruction comprises a horizontal correction instruction, calling the GPU to perform horizontal trapezoid correction on the projected image;
and if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, calling the GPU and the display engine to perform trapezoidal correction on the projected image.
2. The method of claim 1, wherein invoking the GPU and the display engine to keystone correct the projected image comprises:
calling the display engine, and performing vertical trapezoidal correction on the projected image to obtain a first corrected projected image;
and calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
3. The method of claim 2, wherein said invoking the GPU to perform horizontal keystone correction on the first corrected projection image comprises:
acquiring state information of a display environment; the state information comprises a bandwidth and a current resolution;
and if the state information meets the preset condition, calling the GPU to perform horizontal trapezoidal correction on the first corrected projection image.
4. The method according to claim 3, wherein the preset condition comprises the following condition:
the bandwidth is greater than a preset bandwidth threshold;
the current resolution is less than a preset resolution threshold.
5. The method of any of claims 2-4, wherein said invoking said display engine to perform vertical keystone correction on said projected image to obtain a first corrected projected image comprises:
calling the display engine, and performing vertical trapezoidal correction on the projected image to acquire write-back data;
creating a display picture and capturing the write-back data;
and filling the display picture according to the write-back data to obtain the first corrected projection image.
6. The method according to any one of claims 1-4, further comprising:
the trapezoidal corrected projection image is displayed on the projection plane.
7. A keystone correction apparatus, the apparatus comprising:
the acquisition module is used for acquiring an operation instruction of a user; the operation instruction is used for indicating that the trapezoidal correction is carried out on the projected image;
the determining module is used for determining a scheduling instruction corresponding to the operating instruction according to the operating instruction; the scheduling instruction comprises at least one of a vertical correction instruction and a horizontal correction instruction;
the correction module is used for calling target execution hardware corresponding to the scheduling instruction and carrying out trapezoidal correction on the projected image; the target execution hardware comprises at least one of a display engine, a Graphics Processor (GPU); if the scheduling instruction comprises a vertical correction instruction, calling the display engine to perform vertical trapezoidal correction on the projected image; if the scheduling instruction comprises a horizontal correction instruction, calling the GPU to perform horizontal trapezoid correction on the projected image; and if the scheduling instruction comprises a horizontal correction instruction and a vertical correction instruction, calling the GPU and the display engine to perform trapezoidal correction on the projected image.
8. The apparatus of claim 7, further comprising:
and the display module is used for displaying the projection image after the trapezoidal correction on the projection plane.
9. A computer device comprising a memory and a processor, the memory storing a computer program, wherein the processor implements the steps of the method of any one of claims 1 to 6 when executing the computer program.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910317590.3A CN110049299B (en) | 2019-04-19 | 2019-04-19 | Trapezoidal correction method and device, computer equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910317590.3A CN110049299B (en) | 2019-04-19 | 2019-04-19 | Trapezoidal correction method and device, computer equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110049299A CN110049299A (en) | 2019-07-23 |
CN110049299B true CN110049299B (en) | 2021-04-09 |
Family
ID=67278032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910317590.3A Active CN110049299B (en) | 2019-04-19 | 2019-04-19 | Trapezoidal correction method and device, computer equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110049299B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114845091B (en) * | 2021-02-01 | 2023-11-10 | 扬智科技股份有限公司 | Projection device and trapezoid correction method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915830A (en) * | 2015-11-02 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | Adjusting method for projector light engine display parameters and adjusting device thereof |
CN107454372A (en) * | 2016-06-01 | 2017-12-08 | 中兴通讯股份有限公司 | Method for correcting image, device and projecting apparatus |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8218003B2 (en) * | 2007-10-05 | 2012-07-10 | Seiko Epson Corporation | Optimization strategies for GPU view projection matrix implementation |
-
2019
- 2019-04-19 CN CN201910317590.3A patent/CN110049299B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915830A (en) * | 2015-11-02 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | Adjusting method for projector light engine display parameters and adjusting device thereof |
CN107454372A (en) * | 2016-06-01 | 2017-12-08 | 中兴通讯股份有限公司 | Method for correcting image, device and projecting apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN110049299A (en) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11178428B2 (en) | Image splicing method and apparatus, and storage medium | |
US20200258197A1 (en) | Method for generating high-resolution picture, computer device, and storage medium | |
US20240005591A1 (en) | Method and system for rendering panoramic video | |
CN111161660B (en) | Data processing system | |
US11574385B2 (en) | Electronic apparatus and control method for updating parameters of neural networks while generating high-resolution images | |
WO2021008427A1 (en) | Image synthesis method and apparatus, electronic device, and storage medium | |
US10636392B2 (en) | Electronic display partial image frame update systems and methods | |
WO2021104079A1 (en) | Video processing method and apparatus, storage medium, and computer device | |
KR20150012299A (en) | Image processing method and apparatus | |
TW201806378A (en) | Information processing device, information processing method, and program | |
CN113691737B (en) | Video shooting method and device and storage medium | |
CN110049299B (en) | Trapezoidal correction method and device, computer equipment and storage medium | |
CN110928509B (en) | Display control method, display control device, storage medium, and communication terminal | |
CN110858388B (en) | Method and device for enhancing video image quality | |
US20060203002A1 (en) | Display controller enabling superposed display | |
CN112558854B (en) | Multi-picture split-screen mode customization method and device and computer equipment | |
US9019304B2 (en) | Image processing apparatus and control method thereof | |
US20180359430A1 (en) | Image processing device, image processing system, and non-transitory storage medium | |
JP2006145758A (en) | On-screen display device | |
CN108683842B (en) | Panoramic camera and method and device for outputting panoramic video | |
CN115439300A (en) | Panoramic image processing method, device and storage medium | |
CN108696670A (en) | Tile reuse is carried out in imaging | |
JP2012039516A (en) | Image display device and method for controlling the same | |
JP2021118522A (en) | Image processing device, image processing method, and monitoring system | |
US7612792B1 (en) | Method and apparatus for adaptive video encoding based on user perception and use |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |