Large screen fusion method and computer readable storage medium

By integrating servers and grid partitioning technology, the system achieves large-screen fusion across multiple screens, solving the problems of existing equipment's inability to dynamically adjust and model binding. It provides a flexible multi-screen fusion solution and technical solutions for equipment, enabling applications in multiple venues and exhibitions.

CN119232896BActive Publication Date: 2025-12-05FUJIAN STAR NET EVIDEO INFORMATION SYST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310785682.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-29
Publication Date
2025-12-05
Estimated Expiration
2043-06-29

AI Technical Summary

Technical Problem

Existing large-screen devices cannot dynamically adjust the number and area of ​​projections, and most devices bind geometric correction and blending functions to specific projector models, limiting the flexibility and scalability of the devices.

Method used

By acquiring configuration information in real time through the fusion server, calculating the number of grid rows and columns, creating canvases and dividing them into grids, and mapping the material pixels onto the displays of each screen, the fusion of multiple screens on a large screen is achieved, and geometric correction, masking processing and edge blending are supported.

Benefits of technology

It enables large-screen fusion across multiple screens, removes limitations on projector models, offers cost advantages, supports dynamic adjustment and seamless connection, and is suitable for entertainment venues and exhibitions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232896B_ABST
    Figure CN119232896B_ABST
Patent Text Reader

Abstract

The application discloses a large-screen fusion method and a computer readable storage medium, and the method comprises the following steps: a fusion server acquires decodable material images and configuration information, and calculates the number of screens according to the configuration information; the first grid row number and the first grid column number are calculated according to the preset maximum decoding resolution width of the server, the screen resolution width and the number of screens; a canvas is created according to the first grid row number, the first grid column number, the screen resolution height and the screen resolution width, and the canvas is divided into grids to obtain the first grids; the material pixels of each material layer image in the decodable material images are sequentially mapped into each first grid according to the size of the first grid, the preset fusion band width and the number of display screens corresponding to each curtain in the order from left to right and from top to bottom; and the material pixels in each first grid are projected into each display screen of each curtain in the configuration information respectively. The application can simultaneously realize the large-screen fusion of multiple curtains.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of image display, in particular to a large screen fusion method and a computer readable storage medium. BACKGROUND

[0002] At present, whether in entertainment places or in exhibition and display, large screen devices become a trend, and the application scenarios of arc-shaped, corner-shaped, and sky box splicing display are more and more, and the functions of geometric correction, fusion, and splicing become a necessity of the device. However, many large screen devices on the market bind the functions of geometric correction, fusion, and splicing to the projectors, which limits the models of the projectors. Moreover, the devices on the market cannot dynamically adjust the increase of the number and area of projection required by users, and even need to replace the devices. SUMMARY

[0003] The technical problem to be solved by the present application is to provide a large screen fusion method and a computer readable storage medium, which can simultaneously realize the large screen fusion of multiple curtains.

[0004] In order to solve the above technical problems, the technical scheme adopted by the present application is as follows: a large screen fusion method, comprising:

[0005] A fusion server acquires a decodable material image, the decodable material image is stacked by at least one layer of material layer image, and the at least one layer of material layer image is obtained by cutting the to-be-displayed material image;

[0006] The fusion server acquires configuration information in real time, the configuration information includes the number of curtains and the number of display screens corresponding to each curtain, and calculates the number of screens according to the number of curtains and the number of display screens corresponding to each curtain;

[0007] According to the preset maximum decoding resolution width of the server and the screen resolution width and the number of screens, the first grid row number and the first grid column number are calculated;

[0008] According to the first grid row number, the first grid column number, the screen resolution height, and the screen resolution width, a canvas is created, and the canvas is divided into grids according to the first grid row number and the first grid column number, to obtain a first grid;

[0009] According to the size of the first grid, the preset fusion bandwidth, and the number of display screens corresponding to each curtain, the material pixels of each material layer image in the decodable material image are sequentially mapped into each first grid in the order from left to right and from top to bottom;

[0010] The material pixels in each first grid are projected into each display screen of each curtain in the configuration information, respectively.

[0011] The application further provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to realize the method.

[0012] The application has the advantages that the large screen fusion function is realized by one embedded device, the limitation of the projector model is eliminated, and the cost is reduced; the number of shared screens and the number of spliced screens of each screen are dynamically identified by configuration information, the materials to be displayed on multiple screens are processed at the same time, and the large screen fusion function of multiple screens is realized. BRIEF DESCRIPTION OF DRAWINGS

[0013] Figure 1 A flowchart of a large screen fusion method of the application;

[0014] Figure 2 A flowchart of the method of the first embodiment of the application;

[0015] Figure 3 A mapping diagram of decodable material images and canvases of the first embodiment of the application;

[0016] Figure 4 A row and column adding diagram of the first grid of the first embodiment of the application Figure 1 ;

[0017] Figure 5 A row and column adding diagram of the first grid of the first embodiment of the application Figure 2 ;

[0018] Figure 6 A grid point numbering and index direction diagram of the second grid of the first embodiment of the application;

[0019] Figure 7 A distortion correction processing diagram of the first embodiment of the application;

[0020] Figure 8 A point debugging mask effect diagram of the first embodiment of the application;

[0021] Figure 9 A picture debugging mask effect diagram of the first embodiment of the application;

[0022] Figure 10 An effect diagram of the fusion band after edge fusion processing of the first embodiment of the application;

[0023] Figure 11 A diagram of one machine and two merchant controls of the first embodiment of the application. DETAILED DESCRIPTION

[0024] To explain the technical content, the achieved purposes and effects of the application in detail, the following describes the embodiments in combination with the drawings.

[0025] Referring to Figure 1 A large screen fusion method, comprising:

[0026] The fusion server acquires a decodable material image, the decodable material image being stacked by at least one layer of material layer images, the at least one layer of material layer images being obtained by cutting the to-be-displayed material image;

[0027] The fusion server acquires configuration information in real time, the configuration information including the number of curtains and the number of display screens corresponding to each curtain, and calculates the number of screens according to the number of curtains and the number of display screens corresponding to each curtain;

[0028] According to the preset maximum decoding resolution width of the server, the screen resolution width and the number of screens, the first grid row number and the first grid column number are calculated;

[0029] According to the first grid row number, the first grid column number, the screen resolution height and the screen resolution width, a canvas is created, and the canvas is grid-divided according to the first grid row number and the first grid column number, to obtain first grids;

[0030] According to the size of the first grid, the preset fusion band width and the number of display screens corresponding to each curtain, material pixels of each material layer image in the decodable material image are sequentially mapped into each first grid in the order from left to right and from top to bottom;

[0031] Material pixels in each first grid are projected into each display screen of each curtain in the configuration information, respectively.

[0032] As can be seen from the above description, the beneficial effects of the present application are that the large screen fusion function of multiple curtains can be realized by one embedded device. At the same time, through the configuration information, the number of shared curtains and the number of spliced screens of each curtain are dynamically identified, the materials to be displayed by multiple curtains can be processed at the same time, and the large screen fusion function of multiple curtains can be realized.

[0033] Further, after sequentially mapping the material pixels of each material layer image in the decodable material image into each first grid in the order from left to right and from top to bottom according to the size of the first grid and the preset fusion band width, the method further comprises:

[0034] When the add-row-and-column instruction is listened to, each first grid is added in row and column according to the preset second grid row number and second grid column number in the add-row-and-column instruction and the add-row line type and the add-column line type, to obtain second grids;

[0035] According to the grid points of each second grid in each first grid, two triangles corresponding to each second grid are determined, and each triangle is associated with the material pixels located in the region of each triangle respectively;

[0036] When the correction movement instruction is monitored, the vertex or edge of the corresponding triangle is moved according to the movement instruction, and the material pixels corresponding to each triangle containing the moved vertex or edge are corrected in real time according to the positions of the vertex or edge of the triangle before and after the movement.

[0037] As described above, the geometric correction function can be realized.

[0038] Further, the preset fusion bandwidth is calculated according to the width of the first grid and the preset number of second grid columns.

[0039] As described above, the fusion bandwidth is consistent with the width of the second grid.

[0040] Further, according to the grid points of each second grid in each first grid, two triangles corresponding to each second grid are determined, and each triangle is associated with the material pixels located in the region of each triangle respectively, specifically:

[0041] The grid points of each second grid in each first grid are numbered respectively, the numbering is unique, and the coordinates of the grid points of each second grid are associated with the numbering;

[0042] Three vertices of two triangles corresponding to each second grid are determined respectively, and each triangle is associated with the numbering of the three vertices;

[0043] According to the coordinates of the three vertices of each triangle and the grid edges and diagonals of each second grid, the region range of each triangle is determined, and the material pixels located in the region of each triangle are determined according to the region range of each triangle respectively;

[0044] Each triangle is associated with the material pixels located in the region of each triangle respectively.

[0045] As described above, the index of the triangle region is realized through two association relationships, the mapping relationship between the material and the corresponding triangle is established, and the performance of the fusion server can be improved.

[0046] Further, after the material pixels of each material layer image in the decodable material image are mapped into each first grid in sequence from left to right and from top to bottom according to the size of the first grid and the preset fusion bandwidth, further comprising:

[0047] When the mask instruction is monitored, material pixels in the canvas are subjected to mask processing according to the mask instruction.

[0048] Further, the mask instruction includes a point debugging mask instruction and a picture debugging mask instruction.

[0049] When the mask instruction is monitored, material pixels in the canvas are subjected to mask processing according to the mask instruction.

[0050] When the point debugging mask instruction is monitored, the point debugging mask instruction includes a mask positioning point adding instruction and a mask positioning point moving instruction, a mask positioning point is set on the canvas according to the mask positioning point adding instruction, and the corresponding mask positioning point is moved according to the mask positioning point moving instruction.

[0051] According to the mask positioning points before and after the movement, a mask region is determined, and material pixels in the canvas are subjected to mask processing according to the mask region.

[0052] When the picture debugging mask instruction is monitored, material pixels in the canvas are subjected to mask processing according to a preset mask picture.

[0053] As described above, the mask function can be realized.

[0054] Further, after the material pixels of each material layer image in the decodable material image are sequentially mapped into each first grid in the order from left to right and from top to bottom according to the size of the first grid and the preset fusion bandwidth, the method further includes:

[0055] If there is a fusion band, edge fusion processing is performed on the same pixel column in the adjacent two first grids.

[0056] Further, the edge fusion processing on the same pixel column in the adjacent two first grids is specifically:

[0057] According to a first mapping formula and a second mapping formula, texture coordinates of the same pixel column in the adjacent two first grids are respectively mapped into an interval of 0-1, the first mapping formula is x = 1.0 - (x l -start l ) / (end l -start l ), and the second mapping formula is x = (x r -start r ) / (end r -start r ).

[0058] Where x represents the texture coordinates after pixel column mapping, x l The start indicates the texture coordinates of the pixel column in the leftmost first grid among two adjacent first grids. l and end l x represents the starting and ending texture coordinates of the same pixel column in the first grid on the left, respectively. r The start indicates the texture coordinates of the pixel column in the rightmost first grid among two adjacent first grids. r and end r These represent the starting and ending texture coordinates of the same pixel column in the first grid on the right, respectively;

[0059] According to the brightness calculation formula, the brightness value corresponding to each of the same pixel columns is calculated respectively. The brightness calculation formula is as follows:

[0060] outValue(x)=pow(afactor×pow(2.0×x, pfactor), gamma), 0 <x<0.5;

[0061] outValue(x)=pow(1.0-(1.0-afactor)×pow(2.0×(1.0-x), pfactor), gamma), 0.5≤x<1;

[0062] Where outValue() represents the brightness calculation function, pow() represents the power function, and afactor, pfactor, and gamma are preset correction values;

[0063] Based on the corresponding brightness value, adjust the brightness value of each of the same pixel columns respectively.

[0064] As described above, by adjusting the brightness of the same pixel column, a seamless connection can be achieved after fusion.

[0065] Furthermore, before the fusion server acquires the decodeable source image, it further includes:

[0066] Acquire the material image to be displayed, which is horizontally stitched together from the original material images corresponding to each screen;

[0067] The number of material layers is calculated based on the width of the image to be displayed and the preset maximum decoding resolution width of the server;

[0068] Calculate the width of the decodeable material based on the width of the material image to be displayed and the number of material layers;

[0069] According to the decodable material width, the to-be-displayed material image is split to obtain at least one material layer image, and the at least one material layer image is sequentially stacked to obtain a decodable material image.

[0070] The decodable material image is saved to the cloud or a mobile storage medium.

[0071] As can be seen from the above description, by splitting and stacking the to-be-displayed high-definition material image to convert it into a server-decodable image, the image can be conveniently processed by a fusion server.

[0072] Further, the first grid row number and the first grid column number are calculated according to the preset server maximum decoding resolution width, the screen resolution width, and the number of screens, specifically as follows.

[0073] The number of grid single rows is calculated according to the preset server maximum decoding resolution width and the screen resolution width.

[0074] The first grid row number is calculated according to the number of screens and the number of grid single rows.

[0075] If the number of screens is less than the number of grid single rows, the first grid column number is set as the number of screens, otherwise the first grid column number is set as the number of grid single rows.

[0076] Further, the canvas is created according to the first grid row number, the first grid column number, the screen resolution height, and the screen resolution width, specifically as follows.

[0077] The canvas height is calculated according to the first grid row number and the screen resolution height, and the canvas width is calculated according to the first grid column number and the screen resolution width.

[0078] The canvas is created according to the canvas width and the canvas height.

[0079] Further, the material pixels of each material layer image in the decodable material image are sequentially mapped to each first grid in the order from left to right and from top to bottom according to the size of the first grid, the preset fusion band width, and the number of display screens corresponding to each curtain, specifically as follows.

[0080] Each pixel column of each material layer image in the decodable material image is sequentially numbered in the order from left to right and from top to bottom.

[0081] The starting pixel column corresponding to each first grid is determined in sequence according to the width of the first grid, the preset fusion band width, the number of display screens corresponding to each curtain, and the number of each pixel column.

[0082] According to the size of the first grid and the starting pixel column corresponding to each first grid, the material pixels corresponding to each first grid are respectively intercepted from the decodable material image and mapped into each first grid.

[0083] As can be seen from the above description, by determining the starting pixel column of each first grid, the material content corresponding to each first grid can be conveniently determined.

[0084] The application further provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to realize the method described above.

[0085] Embodiment one

[0086] Please refer to Figures 2-11 Embodiment one of the application is a large screen fusion method, which can be applied to entertainment places and exhibition displays.

[0087] As Figure 2 shown, the method comprises the following steps:

[0088] S1: converting a to-be-displayed material image into a decodable material image.

[0089] Since the maximum resolution width that can be decoded by the fusion server is limited, if the width of the to-be-displayed material image is large, the to-be-displayed material image can not be decoded and processed by the fusion server, therefore, the to-be-displayed material image needs to be converted into an image that can be decoded by the fusion server.

[0090] Specifically, first, a to-be-displayed material image is obtained, the to-be-displayed material image is formed by horizontally splicing original material images corresponding to each curtain, wherein one curtain is one large screen formed by splicing a plurality of display screens, and the original material image corresponding to the curtain is used to display on the plurality of display screens of the curtain, therefore, the width of the original material image corresponding to the curtain = the number of display screens corresponding to the curtain * screen resolution width.

[0091] Then, according to the width L of the to-be-displayed material image and the preset maximum decoding resolution width MaxCodeWidth of the server, the material layer number Floor is calculated, i.e. Floor = Ceiling (L / MaxCodeWidth), and Ceiling is a ceiling function. According to the width L of the to-be-displayed material image and the material layer number Floor, the decodable material width W is calculated, i.e. W = L / Floor.

[0092] Next, according to the decodable material width, the to-be-displayed material image is divided to obtain at least one material layer image, i.e. the width of each material layer image is the decodable material width W, and the at least one material layer image is sequentially stacked to obtain a decodable material image.

[0093] Finally, the decodable material image is saved to the cloud or a mobile storage medium (such as a USB flash disk).

[0094] S2: The fusion server acquires the decodable material image and the configuration information, and determines the number of screens according to the configuration information.

[0095] Specifically, after the fusion server is started, the decodable material image is downloaded from the cloud or loaded from a mobile storage medium, and the configuration information is acquired from the cloud in real time, wherein the configuration information includes the number of curtains and the number of display screens corresponding to each curtain, and the number of screens is calculated according to the number of curtains and the number of display screens corresponding to each curtain.

[0096] For example, assuming that the number of curtains is 2, that is, the material to be displayed on 2 curtains is processed at the same time, the first curtain includes 4 display screens, and the second curtain includes 3 display screens, then the number of screens is 7.

[0097] S3: According to the preset server maximum decoding resolution width, screen resolution width and the number of screens, the first grid row number and the first grid column number are calculated.

[0098] Specifically, according to the preset server maximum decoding resolution width MaxCodeWidth and screen resolution width ScreenWidth, the grid single row number X is calculated, that is, X = MaxCodeWidth / ScreenWidth.

[0099] According to the number of screens M and the grid single row number X, the first grid row number R is calculated, that is, R = Ceiling(M / X), wherein Ceiling represents the ceiling function.

[0100] If the number of screens M < the grid single row number X, then the first grid column number C = M, otherwise the first grid column number C = X.

[0101] For example, assuming that the decoding limit of the fusion server is 7680x4320, that is, the server maximum decoding resolution width MaxCodeWidth = 7680; the screen resolution width ScreenWidth = 1920, the screen resolution height ScreenHeight = 1080, and the number of screens M = 7, then the grid single row number X = 7680 / 1920 = 4, the first grid row number R = Ceiling(7 / 4) = 2, and since the number of screens M is greater than the grid single row number X, the first grid column number R = X = 4.

[0102] S4: According to the first grid row number, the first grid column number, the screen resolution height and the screen resolution width, a canvas is created, and the canvas is divided into a grid according to the first grid row number and the first grid column number, to obtain a first grid.

[0103] Specifically, the canvas height = the first grid row number * the screen resolution height, and the canvas width = the first grid column number * the screen resolution width. After the width and height of the canvas are calculated, a canvas of the corresponding size can be created. Then, the first grid is divided in the canvas according to the first grid row number and the first grid column number. That is, the width and height of the first grid are consistent with the width and height of the screen resolution, and each first grid corresponds to each display screen in each curtain one by one.

[0104] For example, the first grid row number R = 2, the first grid column number R = 4, the screen resolution width ScreenWidth = 1920, and the screen resolution height ScreenHeight = 1080. Then, the size of the canvas is 7680 * 2160. In the canvas, 2 rows and 4 columns of large grids are divided, and the size of each large grid is consistent with the screen size.

[0105] S5: According to the size of the first grid, the preset fusion band width, and the number of display screens corresponding to each curtain, sequentially map the material pixels of each material layer image in the decodable material image into each first grid in the order from left to right and from top to bottom.

[0106] Specifically, first, sequentially number each pixel column of each material layer image in the decodable material image in the order from left to right and from top to bottom. Then, according to the width of the first grid, the preset fusion band width, the number of display screens corresponding to each curtain, and the numbering of the pixel columns, sequentially determine the starting pixel column corresponding to each first grid. Finally, according to the size of the first grid and the starting pixel column corresponding to each first grid, respectively, cut the material pixels corresponding to each first grid from the decodable material image and map them into each first grid.

[0107] wherein, for the starting pixel column of the first grid, first, according to the above configuration information, i.e., the number of display screens corresponding to each curtain, determine that the first grid corresponds to the jth display screen of the ath curtain. Then, according to the starting pixel column calculation formula, determine the starting pixel column corresponding to the first grid. The starting pixel column calculation formula is:

[0108]

[0109] wherein, X j represents the number of the starting pixel column corresponding to the jth first grid, j = 1, 2, …, M; a and b represent the curtain number and the display screen number in the curtain corresponding to the jth first grid, i.e., the jth first grid corresponds to the bth display screen of the ath curtain; M iM is the number of display screens corresponding to the i-th curtain, i = 1, 2, …, m, m is the number of curtains; W1 is the width of the first grid, from the above steps, W1 = ScreenWidth; Wc is the width of the fusion zone, when the fusion zone does not exist, Wc = 0.

[0110] As can be seen from the above formula, if a certain first grid corresponds to the first display screen of the i-th curtain, then the starting offset position of the starting pixel column corresponding to the first grid is the total length of the material corresponding to the first i-1 curtains, thereby avoiding the display of the display screen of the next curtain showing the material of the previous curtain when the fusion zone exists, that is, avoiding display disorder between different curtains.

[0111] For example, assuming that the width and height of the decodable material image are 6720x2160, the number of material layers is 2, and the height of each material layer image is 1080, then the numbering of each pixel column from left to right in the first material layer image is 1-6720, and the numbering of each pixel column from left to right in the second material layer image is 6721-13440.

[0112] Assuming that the number of curtains m = 2, the number of display screens corresponding to the first curtain M1 = 4, and the number of display screens corresponding to the second curtain M2 = 3, then the number of screens M = 7, the first first grid corresponds to the first display screen of the first curtain, that is, when j = 1, a = 1, b = 1; similarly, when j = 2, a = 1, b = 2; when j = 3, a = 1, b = 3; when j = 4, a = 1, b = 4; when j = 5, a = 2, b = 1; when j = 6, a = 2, b = 2; when j = 7, a = 2, b = 3.

[0113] Assuming that the width of the first grid W1 = 1920, when the fusion zone does not exist, the numbering of the starting pixel column corresponding to the 7 first grids is 1, 1921, 3841, 5761, 7681, 9601, 11521 in turn; when the fusion zone exists, the numbering of the starting pixel column corresponding to the first four first grids is 1, 1921-Wc, 3841-2Wc, 5761-3Wc in turn, and the numbering of the starting pixel column corresponding to the last three first grids is 7681, 9601-Wc, 11521-2Wc in turn.

[0114] After determining the numbering of the starting pixel column corresponding to each first grid, according to the size of the first grid, the material pixels corresponding to each first grid are sequentially cut from left to right and from top to bottom in each material layer image of the decodable material image and mapped into each first grid.

[0115] Although the canvas is divided into 8 first grids, since the number of screens is 7, only 7 first grids have mapped material images, and the last first grid has no mapped material image, as shown in Figure 3 .

[0116] S6: When the correction instruction is listened to, according to the correction instruction, the material pixels in the canvas are subjected to distortion correction processing.

[0117] The correction instruction includes an add-line instruction and a moving instruction. This step includes the following steps:

[0118] S601: When the add-line instruction is listened to, then according to the second grid row number and the second grid column number in the add-line instruction, and the add-line type and the add-column type, the first grid is respectively added with lines and columns to obtain the second grid.

[0119] The line type of the add-line and the add-column can be a straight line or a curve, and the curve includes a power function curve and a Bezier curve. For example, when the second grid row number and the second grid column number are both 4, the add-line type is a power function curve, and the add-column type is a straight line, as shown in FIG. 6B (only the situation after the first first grid is added with lines and columns is shown). Figure 4 Figure 4 In actual application, for a relatively flat plane, a straight line can be selected for the row and column, and for a curved plane, a power function or a Bezier curve can be selected, so that the debugging efficiency of subsequent distortion correction can be improved.

[0120] In this embodiment, the second grid row number Rs=2, the second grid column number Cs=4, and the add-line type and the add-column type are both straight lines, as shown in FIG. 6C (only the situation after the first first grid is added with lines and columns is shown). Figure 5 Figure 5

[0121] S602: According to the grid points of each second grid in each first grid, two triangles corresponding to each second grid are determined, and each triangle is associated with the material pixels located in the triangle area.

[0122] As shown in FIG. 6D, when the second grid row number Rs=2 and the second grid column number Cs=4, each first grid contains 8 second grids, and each second grid can be considered to be composed of two triangles, so each first grid contains 16 triangles. If the GPU respectively stores the coordinates of the three vertices of each triangle, and each coordinate point contains three dimensions (x, y, z), 16x3x3=144 float type data are required. In this embodiment, two association relationships are constructed to store the triangle area, which are the association relationship between the coordinates of the grid points of each second grid and the number thereof, and the association relationship between the triangle and the number of its three vertices, so that the storage resources of the GPU can be saved, and the performance of the fusion server can be improved. Figure 5

[0123] ​​​​Specifically, firstly, the grid points of each second grid within each first grid are uniquely numbered, and the coordinates of each grid point in the second grid are associated with its number. For example, assuming the number of rows in the second grid is Rs = 2 and the number of columns is Cs = 4, then each first grid is divided into 8 second grids. The grid points of these 8 second grids are numbered sequentially from left to right and top to bottom, as follows: Figure 6 As shown, the numbers are sequentially 1-15. After the numbering is determined, the coordinates of the grid points in each second grid are associated with their numbers to obtain the relationship between the number and the coordinates.

[0124] Then, the three vertices of the two triangles corresponding to each second grid are determined, and each triangle is associated with the numbers of its three vertices. In this embodiment, according to... Figure 6 The direction of the middle arrow forms a grid point index {1, 6, 2, 7, 3, 8, 4, 9, 5, 10, 10, 6, 6, 11, 7, 12, 8, 13, 9, 14, 10, 15}. Three adjacent grid points in each index are taken as the three vertices of the triangle. If the first grid point in a group of three adjacent grid points has an even index, the order of the first two grid points in that group is swapped. For example, if the second group of three adjacent grid points is {6, 2, 7}, it becomes {2, 6, 7}. This process continues, resulting in the following relationship between the triangle and its vertex numbers:

[0125] Triangle 1: {1,6,2}; Triangle 2: {2,6,7}; Triangle 3: {2,7,3}; Triangle 4: {3,7,8}; Triangle 5: {3,8,4}; Triangle 6: {4,8,9}; Triangle 7: {4,9,5}; Triangle 8: {5,9,10}; Triangle 9: {5,10,10}; Triangle 10: {10,10,6}; Triangle 11: {10, 6,6};Triangle 12:{6,6,11};Triangle 13:{6,11,7};Triangle 14:{7,11,12};Triangle 15:{7,12,8};Triangle 16:{8,12,13};Triangle 17:{8,13,9};Triangle 18:{9,13,14};Triangle 19:{9,14,10};Triangle 20:{10,14,15}.

[0126] Triangles with repeated vertices are considered invalid triangles. Therefore, triangles 9-12 are all invalid triangles. The remaining 16 triangles and their three vertices can be associated with each other.

[0127] Next, based on the coordinates of the three vertices of each triangle and the grid edges and diagonals of each second grid, the area of ​​each triangle is determined, and the material pixels located within the area of ​​each triangle are determined according to the area of ​​each triangle.

[0128] Finally, each triangle is associated with the image pixels located within its respective region.

[0129] S603: When a correction movement command is detected, the vertex or edge of the corresponding triangle is moved according to the movement command, and distortion correction processing is performed on the material pixels corresponding to each triangle containing the moved vertex or edge in real time according to the position of the vertex or edge of the triangle before and after the movement.

[0130] For example, such as Figure 7 As shown, when the grid point numbered 8 is moved, the corresponding image pixels of the six triangular blocks surrounding it are all subjected to the corresponding distortion correction.

[0131] Furthermore, in practical applications, users can remotely perform geometric correction and masking via a webpage (PC or mobile phone). For irregularly shaped parts, a vertex, an edge, or several vertices can be selected and moved to correct the irregularity; by independently controlling the displacement of each point, the geometric correction effect can be easily fine-tuned. The debugged data can be saved and uploaded to the cloud. If the machine is subsequently damaged, the configuration data can be loaded from the cloud without having to perform the correction again.

[0132] S7: When a masking command is detected, masking is applied to the pixels of the material on the canvas according to the command. Masking commands include point adjustment masking commands and image adjustment masking commands.

[0133] Specifically, when a point-based debugging masking command is detected, including a masking point addition command and a masking point movement command, the masking point is set on the canvas according to the masking point addition command (which can be generated based on mouse dragging operations), and the corresponding masking point is moved according to the masking point movement command; then, based on the masking point before and after the movement, the masking area is determined, and based on the masking area, the pixel data in the canvas is masked. For example, ... Figure 8 As shown, Figure 8 The black area in the image is the masked area.

[0134] When an image debugging masking command is detected, the image pixels in the canvas are masked according to the preset masking image. For example, ... Figure 9 As shown, Figure 9 The image on the left is the masking image, and the image on the right is the effect of the masking. In practical applications, the masking image can be uploaded via the debugging website.

[0135] The preset picture and mouse dragging greatly facilitate the debugging of the device and save time of the customer.

[0136] S8: If there is a fusion band, edge fusion processing is performed on the same pixel column in the adjacent two first grids.

[0137] From step S5, it can be seen that, in the case of turning on the fusion band, by controlling the starting pixel column of each first grid, the adjacent two first grids can have a common pixel column.

[0138] Further, in an optional embodiment, when there is a fusion band, the preset fusion band width is calculated according to the width of the first grid and the preset second grid column number, that is, the second grid column number is preset, then the first grid width is divided by the second grid column number to obtain the second grid width, and the value is taken as the fusion band width. At this time, for the adjacent two first grids, the last column of the second grid of the left first grid and the first column of the second grid of the right first grid contain the same pixel column, that is, the material pixels are the same.

[0139] This step specifically includes the following steps:

[0140] S801: According to the first mapping formula and the second mapping formula, the texture coordinates of the same pixel column in the adjacent two first grids are respectively mapped into the interval of 0-1.0;

[0141] The first mapping formula is: x = 1.0-(xl-startl) / (endl-startl),

[0142] The second mapping formula is: x = (xr-startr) / (endr-startr);

[0143] Wherein, x represents the mapped texture coordinate of the pixel column, xl represents the texture coordinate of the pixel column in the left first grid of the adjacent two first grids, startl and endl respectively represent the starting texture coordinate and the end texture coordinate of the same pixel column in the left first grid, xr represents the texture coordinate of the pixel column in the right first grid of the adjacent two first grids, and startr and endr respectively represent the starting texture coordinate and the end texture coordinate of the same pixel column in the right first grid.

[0144] S802: According to the brightness calculation formula, the brightness values corresponding to each of the same pixel columns are respectively calculated, and the brightness calculation formula is:

[0145] outValue(x) = pow(afactor x pow(2.0 x x, pfactor), gamma), 0 < x < 0.5;

[0146] outValue(x) = pow(1.0 - (1.0 - afactor) x pow(2.0 x (1.0 - x), pfactor), gamma), 0.5 < x < 1;

[0147] wherein outValue() represents a luminance calculation function, pow() represents a power function, and afactor, pfactor and gamma are preset correction values; in this embodiment, gamma = 2.2, afactor = 0.5, and pfactor = 2.0.

[0148] S803: Adjust the luminance values of the same pixel columns in each of the corresponding first grids according to the corresponding luminance values.

[0149] This step adjusts the luminance of the same pixel columns in the adjacent two first grids, realizes luminance blanking, and makes the luminance of the fusion zone consistent with that of the non-fusion zone, as shown in FIG. 8C, and finally produces a seamless connection effect after fusion. Figure 10

[0150] S9: Project the material pixels in each first grid to each display screen of each curtain in the configuration information.

[0151] Different curtains can correspond to different merchants or different boxes, for example, as shown in FIG. 8D, the three first grids in the upper part of the canvas correspond to the curtain of merchant one (including three display screens), and the two first grids in the lower part of the canvas correspond to the curtain of merchant two (including two display screens), realizing one machine controlling multiple. Figure 11

[0152] The system is based on the linux bottom layer, and all USB hardware trees are fixed under the linux system hardware tree. The USB hardware trees are arranged in ascending order according to the hardware tree index. Assuming that the number of screens M = 7, the embedded fusion hardware system has 9 external screen ports, each screen port has a USB serial port, and the system allocates the following hardware numbers for the 9 ports:

[0153] 1st port: " / sys / bus / usb / devices / 2-1.1:1.0",

[0154] 2nd port: " / sys / bus / usb / devices / 2-1.2:1.0",

[0155] 3rd port: " / sys / bus / usb / devices / 7-1.1:1.0",

[0156] 4th port: " / sys / bus / usb / devices / 7-1.2:1.0",

[0157] ​​5th port: " / sys / bus / usb / devices / 7-1.3:1.0",

[0158] 6th port: " / sys / bus / usb / devices / 7-1.4.1:1.0",

[0159] 7th port: " / sys / bus / usb / devices / 7-1.4.2:1.0",

[0160] 8th port: " / sys / bus / usb / devices / 7-1.4.3:1.0",

[0161] 9th port: " / sys / bus / usb / devices / 7-1.4.4:1.0".

[0162] Since M=7, any 7 of the 9 ports can be used, assuming that ports 1-7 are used, if the subsequent 6 ports are damaged, the interface of the 6th port can be switched to the 8th port, that is, can be used. The system automatically imports the content into the 1st port, the 2nd port, the 3rd port, the 4th port, the 5th port, the 7th port and the 8th port according to the size index and maps to 1-7 screens.

[0163] Compared with the software master-slave machine, the hardware cascade speed is faster and the experience is better. Based on this technology, when the slot is damaged, the output port can be introduced to the unused output port without replacing the returned device, which greatly facilitates the customer.

[0164] The embodiment concentrates the functions of material display, geometric correction, mask processing, splicing and fusion of large screens into one embedded device, offsets the limitation on the model of the projector, has a cost advantage; through hardware cascade and USB slot, the expansion and device maintenance are facilitated; through the shared device, the shared device of multiple merchants and multiple rooms is realized, independent operation is realized, and the cost is saved.

[0165] Embodiment two

[0166] The embodiment is a computer readable storage medium corresponding to the above embodiment, which stores a computer program, the program is executed by a processor to realize the steps of the large screen fusion method in the above embodiment, and the same technical effect can be achieved, which is not repeated here.

[0167] In summary, the large screen fusion method and the computer readable storage medium provided by the application can concentrate the functions of material display, geometric correction, mask processing, splicing and fusion of large screens into one embedded device, offset the limitation on the model of the projector, have a cost advantage; through the configuration information, the number of shared screens and the number of spliced screens of each screen are dynamically identified, the materials to be displayed by multiple screens can be processed at the same time, and the large screen fusion function of multiple screens is realized at the same time.

[0168] The above merely illustrates the embodiments of the present application, and is not intended to limit the patent scope of the present application. Any equivalent variation or direct or indirect application in the related technical field made according to the content of the present application specification and drawings shall be included in the patent protection scope of the present application.

Claims

1. A large screen fusion method, characterized by, The method comprises the following steps: The fusion server acquires a decodable material image, which is composed of at least one layer of material layer image, and the at least one layer of material layer image is obtained by cutting the to-be-displayed material image; The fusion server acquires configuration information in real time, the configuration information comprises the number of curtains and the number of display screens corresponding to each curtain, and the number of screens is calculated according to the number of curtains and the number of display screens corresponding to each curtain; According to the preset maximum decoding resolution width of the server, the screen resolution width and the number of screens, the first grid row number and the first grid column number are calculated; According to the first grid row number, the first grid column number, the screen resolution height and the screen resolution width, a canvas is created, and the canvas is divided into grids according to the first grid row number and the first grid column number, so as to obtain the first grid; According to the size of the first grid, the preset fusion band width and the number of display screens corresponding to each curtain, the material pixels of each material layer image in the decodable material image are sequentially mapped into each first grid in the order from left to right and from top to bottom; The material pixels in each first grid are projected into each display screen of each curtain in the configuration information respectively.

2. The large screen fusion method of claim 1, wherein, After the material pixels of each material layer image in the decodable material image are sequentially mapped into each first grid in the order from left to right and from top to bottom according to the size of the first grid and the preset fusion band width, the method further comprises the following steps: When a row and column adding instruction is listened to, the first grid is added in row and column according to the second grid row number and the second grid column number in the row and column adding instruction and the row adding line type and the column adding line type, so as to obtain the second grid; According to the grid points of each second grid in each first grid, two triangles corresponding to each second grid are determined, and each triangle is associated with the material pixels located in the region of each triangle respectively; When a correction moving instruction is listened to, the vertex or edge of the corresponding triangle is moved according to the moving instruction, and the material pixels corresponding to each triangle containing the moved vertex or edge are corrected in real time according to the positions of the vertex or edge of the triangle before and after the movement.

3. The large screen fusion method of claim 2, wherein, The preset fusion band width is calculated according to the width of the first grid and the preset second grid column number.

4. The large screen fusion method of claim 2, wherein, According to the grid points of each second grid in each first grid, two triangles corresponding to each second grid are determined, and each triangle is associated with the material pixels located in the region of each triangle respectively. The grid points of each second grid in each first grid are numbered respectively, the numbering is unique, and the coordinates of the grid points of each second grid are associated with the numbering; Three vertices of each triangle corresponding to each second grid are determined respectively, and each triangle is associated with the numbering of the three vertices; According to the coordinates of the three vertices of each triangle, the grid edges and the diagonal lines of each second grid, the region range of each triangle is determined, and the material pixels located in the region of each triangle are determined according to the region range of each triangle respectively; Each triangle is associated with the material pixels located in the region of each triangle respectively.

5. The large screen fusion method of claim 1, wherein, After sequentially mapping the material pixels of each material layer image in the decodable material image into each first grid according to the size of the first grid and a preset fusion band width in a left-to-right and top-to-bottom order, the method further comprises: When a mask instruction is monitored, performing mask processing on the material pixels in the canvas according to the mask instruction.

6. The large screen fusion method of claim 5, wherein, The mask instruction comprises a point debugging mask instruction and a picture debugging mask instruction. When a mask instruction is monitored, performing mask processing on the material pixels in the canvas according to the mask instruction. When a point debugging mask instruction is monitored, the point debugging mask instruction comprises a mask positioning point adding instruction and a mask positioning point moving instruction, setting a mask positioning point on the canvas according to the mask positioning point adding instruction, and moving the corresponding mask positioning point according to the mask positioning point moving instruction. According to the mask positioning points before and after the movement, determining a mask area, and performing mask processing on the material pixels in the canvas according to the mask area. When a picture debugging mask instruction is monitored, performing mask processing on the material pixels in the canvas according to a preset mask picture.

7. The large screen fusion method of claim 1, wherein, After sequentially mapping the material pixels of each material layer image in the decodable material image into each first grid according to the size of the first grid and a preset fusion band width in a left-to-right and top-to-bottom order, the method further comprises: If there is a fusion band, performing edge fusion processing on the same pixel columns in two adjacent first grids.

8. The large screen fusion method of claim 7, wherein, The edge fusion processing on the same pixel columns in two adjacent first grids comprises: According to the first mapping formula and the second mapping formula, texture coordinates of the same pixel column in the two adjacent first grids are respectively mapped into the interval of 0-1, the first mapping formula is x = 1.0 - (x l -start l ) / (end l -start l ), and the second mapping formula is x = (x r -start r ) / (end r -start r ); wherein x represents the texture coordinate of a pixel column in the left first grid of the two adjacent first grids, start l x l and end l represent the start and end texture coordinates of the same pixel column in the left first grid, respectively, x r x r and end r represent the start and end texture coordinates of the same pixel column in the right first grid, respectively. According to a brightness calculation formula, calculating the brightness values corresponding to each of the same pixel columns, the brightness calculation formula being: outValue(x) = pow(afactor × pow(2.0 × x, pfactor), gamma), 0 < x < 0.5; outValue(x) = pow(1.0 - (1.0 - afactor) × pow(2.0 × (1.0 - x), pfactor), gamma), 0.5 ≤ x < 1; wherein outValue() represents a brightness calculation function, pow() represents a power function, and afactor, pfactor and gamma are preset correction values. According to the corresponding brightness values, adjusting the brightness values of each of the same pixel columns.

9. The large screen fusion method of claim 1, wherein, Before the fusion server acquires a decodable material image, the method further comprises: Acquiring a to-be-displayed material image, the to-be-displayed material image being obtained by horizontally splicing original material images corresponding to each canvas; According to the width of the to-be-displayed material image and a preset server maximum decoding resolution width, calculating the number of material layers; According to the width of the to-be-displayed material image and the number of material layers, calculating a decodable material width; According to the decodable material width, splitting the to-be-displayed material image to obtain at least one material layer image, and sequentially stacking the at least one material layer image to obtain a decodable material image; and performing mask processing on the material pixels in the canvas according to the mask area. Save the decodable material image to the cloud or a mobile storage medium.

10. The large screen fusion method of claim 1, wherein, The first grid row number and the first grid column number are calculated according to the preset server maximum decoding resolution width, the screen resolution width, and the screen number, specifically as follows: The grid single-row grid number is calculated according to the preset server maximum decoding resolution width and the screen resolution width. The first grid row number is calculated according to the screen number and the grid single-row grid number. If the screen number is less than the grid single-row grid number, the first grid column number is the screen number, otherwise, the first grid column number is the grid single-row grid number.

11. The large screen fusion method of claim 1, wherein, The canvas is created according to the first grid row number, the first grid column number, the screen resolution height, and the screen resolution width, specifically as follows: The canvas height is calculated according to the first grid row number and the screen resolution height, and the canvas width is calculated according to the first grid column number and the screen resolution width. The canvas is created according to the canvas width and the canvas height.

12. The large screen fusion method of claim 1, wherein, The material pixels of each material layer image in the decodable material image are sequentially mapped into each first grid according to the size of the first grid, the preset fusion band width, and the display screen number corresponding to each curtain, in the order from left to right and from top to bottom, specifically as follows: Each pixel column of each material layer image in the decodable material image is sequentially numbered in the order from left to right and from top to bottom. The starting pixel column corresponding to each first grid is determined in sequence according to the width of the first grid, the preset fusion band width, the display screen number corresponding to each curtain, and the number of each pixel column. The material pixels corresponding to each first grid are respectively cut from the decodable material image according to the size of the first grid and the starting pixel column corresponding to each first grid, and are mapped into each first grid.

13. A computer readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement the method of any one of claims 1-12.

Citation Information

Patent Citations

  • GPU (graphics processing unit) acceleration based video display method adopting multi-projector splicing fusion on special-shaped screens

    CN104954715A

  • Tiled fusion windowing method based on distributed cloud splicing and display screen

    CN111010600A