View processing method and device of collaborative drawing board, computer equipment and storage medium
By utilizing the view processing methods of the collaborative canvas, the viewer can customize their perspective and personalize the rendering of 3D elements. This solves the problem of inflexible view display in collaborative canvas live streaming, and improves collaboration efficiency and user experience.
Patent Information
- Application Number
- CN202411630316.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2026-05-15
AI Technical Summary
Existing collaborative whiteboards have low flexibility in display during live streaming, and viewers cannot freely switch or adjust their perspective, resulting in an inability to fully understand the whiteboard content and affecting collaboration efficiency and experience.
The collaborative canvas view processing method receives information from the broadcaster and the viewer, renders the canvas view based on the viewing parameters, supports personalized perspective adjustment of 3D elements, provides perspective operation options and live window settings, and allows viewers to customize the viewing perspective.
It enhances the flexibility of view processing in collaborative whiteboard live streaming, improves the viewing experience and collaboration efficiency for viewers, and enhances the visualization and interactivity of whiteboard content.
Smart Images

Figure CN122044710A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to a view processing method, apparatus, computer device, and storage medium for a collaborative drawing board. Background Technology
[0002] Collaborative whiteboards are virtual whiteboards used for real-time collaboration among multiple users. They feature drawing, text editing, and multimedia insertion capabilities and can be used in remote meetings, project discussions, and teaching and training, providing a good communication and collaboration experience.
[0003] When using collaborative whiteboards for knowledge sharing, participants can freely view and edit the shared whiteboard content on their respective clients. However, when the whiteboard contains a large amount of content, a lack of systematic explanation or simultaneous operation by multiple people can make it difficult to identify the key points and understand the logical structure of the content. Therefore, a presenter can act as the broadcaster, controlling the display and explaining the content. Other participants can join the live stream to watch the explanation, allowing them to focus their attention and quickly grasp the whiteboard content by following the presenter's guidance.
[0004] However, the flexibility of displaying the board page view is currently low when showing the live board view in different collaborative board clients. Summary of the Invention
[0005] This disclosure provides a view processing method, apparatus, computer device, and storage medium for a collaborative drawing board, which can improve the flexibility of view processing in a collaborative drawing board.
[0006] According to one aspect of this disclosure, a view processing method for a collaborative canvas is provided, the method comprising:
[0007] The system receives page view information of the target collaborative canvas sent by the collaborative canvas broadcaster. The page view information includes canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element. The multiple canvas elements include at least one three-dimensional element.
[0008] Receive viewing parameter information for the target collaborative canvas sent by the viewer's end;
[0009] The view of the collaborative canvas corresponding to the viewer is rendered based on the viewing parameter information, the canvas view area information, the attribute information of the multiple canvas elements, and the display position information of each canvas element.
[0010] The canvas view is sent to the collaborative canvas viewer for display.
[0011] According to one aspect of this disclosure, a view processing device for a collaborative canvas is provided, the view processing device for the collaborative canvas comprising:
[0012] The first receiving unit is used to receive page view information of the target collaborative canvas sent by the collaborative canvas broadcaster terminal. The page view information includes canvas view area information, attribute information of multiple canvas elements, and display position information of each of the multiple canvas elements. The multiple canvas elements include at least one three-dimensional element.
[0013] The second receiving unit is used to receive viewing parameter information for the target collaborative drawing board sent by the viewer terminal of the collaborative drawing board.
[0014] The rendering unit is used to render the canvas view corresponding to the collaborative canvas viewer based on the viewing parameter information, the canvas view area information, the attribute information of the multiple canvas elements, and the display position information of each canvas element.
[0015] The sending unit is used to send the canvas view to the collaborative canvas viewer for display.
[0016] Optionally, in some embodiments, the rendering unit includes:
[0017] The first determining subunit is used to determine the observed image of each three-dimensional element among the plurality of canvas elements based on the viewing parameter information;
[0018] The rendering subunit is used to render the canvas view corresponding to the collaborative canvas viewer based on the observed image, the canvas view area information, the element image of each two-dimensional element among the plurality of canvas elements, and the display position information of each canvas element.
[0019] Optionally, in some embodiments, the determining subunit includes:
[0020] The first determining module is used to determine the display model of each three-dimensional element based on the viewing angle information in the viewing parameter information;
[0021] The first rendering module is used to render texture information based on the lighting mode information in the viewing parameter information and the viewing angle information of each three-dimensional element.
[0022] The texturing module is used to perform texturing processing on the display model according to the texture information to obtain an observation image of each of the three-dimensional elements.
[0023] Optionally, in some embodiments, the rendering subunit includes:
[0024] The second determining module is used to determine the first display position corresponding to the element image of each of the plurality of canvas elements;
[0025] The third determining module is used to determine the second display position corresponding to the observed image based on the element center of the three-dimensional element;
[0026] The second rendering module is used to render a canvas view corresponding to the viewer end of each collaborative canvas based on the first display position, the second display position, the canvas view area information, the observed image, and the element image.
[0027] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0028] The first display subunit is used to display the canvas interface of the target collaborative canvas on the collaborative canvas broadcaster terminal;
[0029] The second display subunit is used to display a view operation option area in the drawing board interface, the view operation option area including multiple view operation controls;
[0030] The first receiving subunit is used to receive a selection operation on the target view operation control in the view operation option area, and to receive a first drag operation on the target view operation control.
[0031] The second determining subunit is used to determine the page view information of the target collaborative canvas based on the first drag operation.
[0032] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0033] The third display subunit is used to display the canvas interface of the target collaborative canvas on the collaborative canvas broadcaster terminal, and to display at least one three-dimensional element in the canvas interface;
[0034] The fourth display subunit is used to display the first element view setting area in response to the setting operation of the at least one three-dimensional element;
[0035] The third determining subunit is used to receive the first perspective parameter input in the first element perspective setting area, and determine the page view information of the target collaborative canvas based on the first perspective parameter.
[0036] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0037] The fifth display subunit is used to display the canvas interface of the target collaborative canvas on the viewer's end of the collaborative canvas, and to display live streaming control on the canvas interface;
[0038] The sixth display subunit is used to display the live stream window in response to the selection of the live stream control;
[0039] The seventh display subunit is used to display the canvas view in the live streaming window.
[0040] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0041] The eighth display subunit is used to display the live streaming viewing attribute setting area in response to a trigger operation on the live streaming window in the canvas interface.
[0042] The fourth determining subunit is used to receive viewing attribute data input in the viewing attribute setting area and determine viewing parameter information for the target collaborative drawing board based on the viewing attribute data.
[0043] Optionally, in some embodiments, the view processing method for the collaborative canvas provided in this disclosure includes:
[0044] The fifth determining subunit is used to identify the viewing intent based on the viewing attribute data of the historical canvas view using a preset neural network model, and to determine the viewing attribute data based on the viewing intent identification result.
[0045] The sixth determining subunit is used to determine the viewing parameter information for the target collaborative drawing board based on the viewing attribute data.
[0046] Optionally, in some embodiments, the collaborative drawing board viewer generates the viewing parameter information through the following steps:
[0047] The ninth display subunit is used to display at least one three-dimensional element in the canvas view of the target collaborative canvas;
[0048] The tenth display subunit is used to display an element selection area in response to a selection operation on the at least one three-dimensional element;
[0049] The eleventh display subunit is used to receive setting operations in the element selection area and display the second element view setting area;
[0050] The seventh determining subunit is used to receive the second perspective parameter input in the second element perspective setting area, and determine the viewing parameter information of the target collaborative canvas based on the second perspective parameter.
[0051] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0052] A generation subunit is configured to receive a second drag operation on the canvas view in the target collaborative canvas, and generate a view update instruction for the canvas view based on the second drag operation.
[0053] The second receiving subunit is used to send the view update instruction to the collaborative canvas server for rendering update, and to receive the updated canvas view sent by the collaborative canvas server.
[0054] The twelfth display subunit is used to display the updated canvas view in the live streaming window.
[0055] According to one aspect of this disclosure, a computer device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the view processing method for a collaborative drawing board as described above.
[0056] According to one aspect of this disclosure, a storage medium is provided that stores a computer program, which, when executed by a processor, implements the view processing method for a collaborative drawing board as described above.
[0057] According to one aspect of this disclosure, a computer program product is provided, the computer program product comprising a computer program that is read and executed by a processor of a computer device, causing the computer device to perform the view processing method for a collaborative drawing board as described above.
[0058] The view processing method for collaborative canvases provided in this embodiment of the present disclosure includes receiving page view information of a target collaborative canvas sent by the collaborative canvas broadcaster terminal. The page view information includes canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element. The multiple canvas elements include at least one three-dimensional element. The method also includes receiving viewing parameter information of the target collaborative canvas sent by the collaborative canvas viewer terminal. The method further includes rendering a canvas view corresponding to the collaborative canvas viewer terminal based on the viewing parameter information, canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element. Finally, the method sends the canvas view to the collaborative canvas viewer terminal for display.
[0059] In implementing the collaborative canvas live streaming function, this embodiment can receive viewing parameter information sent by the live stream audience, and then adjust the viewing angle of the three-dimensional elements in the collaborative canvas of the anchor based on the viewing parameter information, thereby improving the flexibility of canvas view processing.
[0060] Other features and advantages of this disclosure will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the disclosure. The objectives and other advantages of this disclosure may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description
[0061] The accompanying drawings are provided to further understand the technical solutions of this disclosure and constitute a part of the specification. They are used together with the embodiments of this disclosure to explain the technical solutions of this disclosure and do not constitute a limitation on the technical solutions of this disclosure.
[0062] Figure 1 A system architecture diagram for the view processing method of the collaborative canvas according to embodiments of this disclosure;
[0063] Figure 2 A flowchart illustrating the view processing method for the collaborative canvas provided in this disclosure;
[0064] Figure 3 A schematic diagram of the view operation options area provided in this disclosure;
[0065] Figures 4A to 4C A detailed schematic diagram of the rotation view operation provided in this disclosure;
[0066] Figures 5A to 5C A detailed schematic diagram of the area set up for the first element's perspective provided in this disclosure;
[0067] Figure 6A This is a schematic diagram of a live streaming window provided in this disclosure;
[0068] Figure 6B A schematic diagram of the live streaming window provided in this disclosure;
[0069] Figure 6C A schematic diagram of the viewing property setting area for the canvas view provided in this disclosure;
[0070] Figure 7 A schematic diagram of the area for displaying the viewpoint setting of the second element provided in this disclosure;
[0071] Figure 8 This is a schematic diagram illustrating the perspective transformation of the canvas view provided in this disclosure.
[0072] Figure 9 This is another schematic diagram illustrating the perspective transformation of the canvas view provided in this disclosure;
[0073] Figure 10 Another flowchart illustrating the view processing method for the collaborative canvas provided in this disclosure;
[0074] Figure 11 A schematic diagram of the module composition of the perspective processing module provided in this disclosure;
[0075] Figure 12 A schematic diagram of the module composition of the network transmission module provided in this disclosure;
[0076] Figure 13 A schematic diagram of the module composition of the receiving and display module provided in this disclosure;
[0077] Figure 14 A schematic diagram of the module composition of an interaction module provided in an embodiment of this disclosure;
[0078] Figure 15 A schematic diagram illustrating the main concept of the view processing method for the collaborative canvas provided in this embodiment of the disclosure;
[0079] Figure 16 A schematic diagram of the view processing device for the collaborative canvas provided in this embodiment of the disclosure;
[0080] Figure 17 This is a terminal structure diagram for implementing various methods according to an embodiment of the present disclosure;
[0081] Figure 18 This is a server structure diagram illustrating the implementation of various methods according to an embodiment of the present disclosure. Detailed Implementation
[0082] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and are not intended to limit the scope of this disclosure.
[0083] Before providing a further detailed description of the embodiments of this disclosure, the terms and concepts used in these embodiments are explained, and they are subject to the following interpretations:
[0084] Page Layout View: Page Layout View displays the distribution of all content in a document across the entire page and the document's position on each page. It allows for editing and provides a true "what you see is what you get" display. In Page Layout View, the page content seen on the screen is the actual printed result. Editing and layout are possible in Page Layout View, including manipulating text boxes, image boxes, etc., and modifying text, formatting, and layout.
[0085] Angle of view: The angle between the line of sight and the perpendicular direction of the display screen, etc. When observing an object, it is the angle formed by the light rays drawn from both ends (top, bottom, left, right) of the object at the optical center of the eye. The smaller the size of the object and the farther away from the observer, the smaller the angle of view.
[0086] Collaborative whiteboards with live streaming functionality allow hosts to control the whiteboard content, while viewers can join the live stream to follow the host's guidance and explanations, quickly mastering the whiteboard content. This live streaming feature improves collaboration efficiency and user experience, finding wide applicability in work communication and education. However, in related technologies, hosts can only stream from a fixed, preset perspective, and viewers can only watch from a single viewpoint. Neither hosts nor viewers can freely switch or adjust their perspectives, resulting in a poor viewing experience. The fixed viewing angle prevents viewers from fully and intuitively understanding all the content on the whiteboard, leading to missed important details. Furthermore, this viewing method hinders interaction between collaborators, ultimately resulting in low collaboration efficiency. To address this, a view processing method for collaborative whiteboards has been proposed, allowing viewers to switch between multiple preset perspectives while watching the live stream. However, this method is limited to switching between pre-defined perspectives and cannot switch to unpre-defined perspectives or adjust the desired viewing angle within an arbitrary range. This lack of flexibility in perspective switching ultimately results in poor flexibility in whiteboard view switching. Based on this, this disclosure provides a view processing method for collaborative whiteboards, aiming to improve the flexibility of view processing during live streaming, and enhance collaboration efficiency and user experience.
[0087] System architecture and scenario description of the embodiments disclosed herein
[0088] Figure 1 This is a system architecture diagram of a view processing method for a collaborative whiteboard according to an embodiment of the present disclosure. It includes a collaborative whiteboard host terminal 110, an Internet 120, a server 130, a collaborative whiteboard viewer terminal 140, etc.
[0089] The collaborative whiteboard broadcast client 110 can be various terminals, including desktop computers, laptops, PDAs (personal digital assistants), mobile phones, in-vehicle terminals, home theater terminals, dedicated terminals, intelligent voice interaction devices, smart home appliances, and aircraft. Furthermore, it can be a single device or a collection of multiple devices. The collaborative whiteboard broadcast client 110 can communicate with the Internet 120 via wired or wireless means to exchange data.
[0090] The collaborative whiteboard viewer terminal 140 can be various terminals, including desktop computers, laptops, PDAs (personal digital assistants), mobile phones, in-vehicle terminals, home theater terminals, dedicated terminals, intelligent voice interaction devices, smart home appliances, and aircraft. Furthermore, it can be a single device or a collection of multiple devices. The collaborative whiteboard viewer terminal 140 can communicate with the Internet 120 via wired or wireless means to exchange data.
[0091] Server 130 refers to a computer system that can provide certain services to the collaborative whiteboard broadcaster 110. Compared to the ordinary collaborative whiteboard broadcaster 110, server 130 has higher requirements in terms of stability, security, and performance. Server 130 can be a single high-performance computer in a network platform, a cluster of multiple high-performance computers, a portion of a single high-performance computer (e.g., a virtual machine), or a combination of portions of multiple high-performance computers (e.g., virtual machines).
[0092] The view processing method for the collaborative canvas provided in this embodiment can be partially implemented in the collaborative canvas host terminal 110 and partially implemented in the server 130.
[0093] When the view processing method of the collaborative canvas provided in this embodiment is partially implemented in the server 130 and partially implemented in the collaborative canvas host terminal 110 and the collaborative canvas viewer terminal 140, the server 130 can receive the page view information of the target collaborative canvas sent by the collaborative canvas host terminal 110; the server 130 can receive the viewing parameter information of the target collaborative canvas sent by the collaborative canvas viewer terminal 140; the server 130 can render the canvas view corresponding to the collaborative canvas host terminal 110 according to the viewing parameter information, canvas view area information, attribute information of multiple canvas elements and display position information of each canvas element; the server 130 can send the canvas view to the collaborative canvas viewer terminal 140 for display.
[0094] The view processing method for collaborative whiteboards provided in this disclosure can be applied to various multi-user collaborative scenarios, including live streaming scenarios. For example, it can be used for teaching demonstrations in educational settings, and for work-related communication, discussion, work assignments, and employee training in work settings.
[0095] For example, in a teaching demonstration scenario, when a teacher needs to work remotely from home, they can use the live streaming function of the collaborative drawing board to give online lessons to students. The teacher opens the collaborative drawing board application, starts the live stream, displays the drawing board page containing the teaching content, and shares the access link of the target collaborative drawing board to the student group. Students can access the target collaborative drawing board through the link and join the drawing board live stream. The server on which the collaborative drawing board application depends can receive the page view information sent by the teacher's terminal. Students can set their desired live stream viewing angle and other viewing parameters. Then, the server can receive the viewing parameter information set for the target collaborative drawing board from the student's terminal, render the drawing board view corresponding to the viewing parameter information set by each student's terminal based on the page view information and the viewing parameter information, and send it to the student's terminal. In this way, the student's terminal can display the live drawing board view corresponding to the set viewing parameters.
[0096] For example, in an employee training scenario, where a company has a large number of employees and it's impossible to gather them all for face-to-face training, employee training can be conducted via live streaming using a collaborative whiteboard. The training presenter can open the collaborative whiteboard application, start the live stream, display a whiteboard page containing the training content, and share the access link to the target collaborative whiteboard in the work group. Employees can then access the target collaborative whiteboard through the link and join the live stream. The presenter can also directly share the live stream link, which employees can then open to enter the live stream. The server can receive the page view information sent from the presenter's terminal. Employees can set their viewing angles on their respective terminals. The server can receive the viewing parameter information set by the employee's terminal and render the view based on the page view information and viewing parameter information to obtain the live whiteboard view corresponding to the viewing parameters set by each employee's terminal, and then send it to the employee's terminal. Thus, the employee's terminal can display the live whiteboard view corresponding to the set viewing parameters.
[0097] The above examples do not limit the scope of protection in this case.
[0098] General Description of Embodiments in this Disclosure
[0099] According to one embodiment of this disclosure, a view processing method for a collaborative canvas is provided. This method can be used in multi-user collaborative scenarios, specifically in applications such as teaching demonstrations and work training.
[0100] like Figure 2 The diagram shown is a flowchart illustrating a view processing method for a collaborative drawing board provided in this disclosure. This method can be applied to a view processing device for a collaborative drawing board, which can be integrated into a computer device, specifically a server. The view processing method for the collaborative drawing board may include:
[0101] Step 210: Receive the page view information of the target collaborative canvas sent by the collaborative canvas host.
[0102] The collaborative canvas view processing method provided in this embodiment can be used to process the live view of a collaborative canvas application. The collaborative canvas host can be any terminal that initiates the live stream of the collaborative canvas application. It can control the content displayed on the collaborative canvas and synchronize the displayed canvas content to the terminals of other collaborative objects joining the live stream. For example, in a teaching demonstration scenario, the teacher, as the lecturer, initiates a live stream via the canvas, and students can join the live stream to watch the teacher's lecture. In this case, the terminal device used by the teacher for the canvas live stream is the collaborative canvas host. As another example, in an employee training scenario, the training instructor initiates a live stream via the canvas, and training employees can join the live stream to watch the training. In this case, the terminal device used by the training instructor for the canvas live stream is the collaborative canvas host.
[0103] Each collaboration board account can be logged into when using the collaboration board application. This account manages multiple boards created within the application. A target collaboration board can represent the specific board used for displaying live content. For example, if the lecture covers Chapter 8, the target collaboration board corresponding to Chapter 8 can be opened during the live stream.
[0104] Furthermore, after the broadcaster opens the target collaborative canvas, they can start a live stream and then control the live stream display by controlling the page view of the target collaborative canvas. The page view information of the target collaborative canvas can include canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element.
[0105] Since the canvas is borderless, while the screen size of the terminal device is limited, only a portion of the canvas view can be displayed on the terminal device. The collaborative canvas host can adjust the canvas view area, which helps collaborators watching the live stream quickly find key canvas content and improves collaboration efficiency. The canvas view area is the actual canvas view displayed and manipulated by the collaborative canvas host within the target collaborative canvas. The canvas view area information can include the center coordinates and size of the displayed canvas view area, as well as the background style and canvas scaling ratio (e.g., 150%, 200%, or adapt to screen ratio). The center coordinates of the canvas view area can be adjusted by dragging the canvas. Canvas elements can include text boxes, images, links, and interactive elements (e.g., buttons, controls, and forms) displayed on the canvas page. The number of canvas elements displayed in the canvas view area can be adjusted by changing the scaling ratio of the canvas page; a larger scaling ratio results in fewer canvas elements displayed in the canvas view area, and larger displayed canvas elements. Different artboard elements can include different element attribute information, specifically style attributes, interaction attributes, and text attributes. For example, style attributes can include the fill, border, and shadow of the artboard element; interaction attributes can include whether interactive controls are clickable, editable, and draggable; and text attributes can include font, color, and font size. The page view information can also include the display position information of each artboard element, which identifies the element's position within the artboard interface, such as the coordinates of the artboard element within the target collaborative artboard. Multiple artboard elements may contain at least one 3D element, which can include 3D models or geometric shapes. Adjusting the viewpoint of the artboard will change the display viewpoint of the 3D element accordingly. It should be noted that the collaborative artboard presenter can adjust the page view of the target collaborative artboard in real time and update and send the page view information in real time.
[0106] In some embodiments, the process by which the collaborative canvas host determines the page view information of the target collaborative canvas may include the following steps:
[0107] Display the target collaborative canvas interface on the broadcaster's client.
[0108] Display the view operation options area in the canvas interface;
[0109] It receives the selection operation of the target view operation control in the view operation option area, and receives the first drag operation of the target view operation control.
[0110] The page view information of the target collaboration canvas is determined based on the first drag operation.
[0111] In this embodiment, the collaborative canvas host can display the canvas interface of the target collaborative canvas. This can be done by opening a collaborative canvas application or a collaborative canvas webpage, or via a mini-program. Then, a view operation option area can be displayed on the canvas interface of the target collaborative canvas. This area can include multiple view operation controls, which can be used to adjust the view of the canvas or to adjust individual 3D elements. These controls can include translation, rotation, and scaling controls. If no 3D element is selected, the view can be switched across the entire canvas page. If a 3D element is selected, the view can be switched only on that selected element. It is understood that 2D elements lack a z-axis compared to 3D elements. 3D elements can change their view around any axis, but 2D elements are limited to x- and y-axis transformations. For example, if the canvas page is translated left or right, the 2D element can also be translated a certain distance to the left or right accordingly. If the canvas page is rotated inward or outward, the displayed image of the 2D element will not change.
[0112] The view operation options area can be displayed by clicking the corresponding control, or directly in the menu bar or tooltip, and can be set by the collaborating party. Furthermore, it can receive selection operations on target view operation controls in the view operation options area. Selection can be achieved through mouse events or gesture recognition; there are no restrictions here. After selecting a target view operation control, the mouse pointer icon can change to the corresponding icon shape of the target view operation control to indicate successful selection. Furthermore, the target view operation control can be dragged to achieve corresponding view changes. The first drag operation can be achieved through the mouse, gesture recognition, or pupil trajectory recognition; there are no restrictions here. The first drag operation can include rotation, translation, and scaling operations, which can be view operations implemented corresponding to the target view operation control. Rotation operations can include rotation around the x, y, and z axes, allowing arbitrary angle rotation of the canvas element; translation operations include translation along the x, y, and z axes, allowing arbitrary position movement of the canvas element; scaling operations include scaling along the x, y, and z axes, allowing arbitrary size adjustment of the canvas element.
[0113] The first drag operation switches the view of the canvas page or the view of the 3D elements, and then new page view information is generated based on the switched canvas page. For example, if a certain area of the canvas page is zoomed in, the center coordinates of the elements in that area and the size of the area they occupy will change accordingly, and the page view information will be updated in real time. During the process of adjusting the canvas page view by performing the first drag operation, the page view information can be updated and sent in real time.
[0114] Please refer to Figure 3 As shown in the figure, the target collaborative canvas opened by the broadcaster is canvas 1, which includes "Page-1" and "Page-2", and the displayed canvas page is "Page-2". Canvas 1 may include a canvas interface 300, which may include a canvas menu bar 301, a view operation option area 302, and a page number directory 303. The canvas menu bar 301 may include file options, view options, tool options, and help options. Clicking the view option displays the view operation option area 302. It should be noted that clicking the view option displays a sub-menu list. Selecting the view option from the sub-menu list then displays the view operation option area 302. The method shown in the figure does not limit the embodiments of this disclosure. The view operation option area 302 includes, from left to right, a move control, a zoom control, a zoom-out control, a rotate left control, and a rotate right control. Clicking the rotate left control switches to a left-rotation view switching mode, allowing the canvas page to be rotated to the left. If a 3D element in canvas 1 is selected at this time, the 3D element can also be rotated to the left.
[0115] As previously described, the viewpoint of the canvas can be adjusted using the view control. In other embodiments, the object of view adjustment can be switched, and then the viewpoint can be switched by manipulating the mouse. For example, the object of view adjustment can be switched by a combination of mouse and keyboard input. When the mouse pointer is in an arrow shape, the viewing angle of a specific 3D element can be adjusted; when the mouse pointer is in a hand shape, the viewpoint of the canvas page can be switched. For example, please refer to... Figure 4A As shown in the figure, the canvas interface 300 includes a square 401 and a cylinder 402. The mouse pointer is a hand shape, indicating that the view of the canvas page can be switched. As shown in the figure, rotating the mouse in the leftward direction rotates both the square 401 and the cylinder 402 to the left by a certain angle. For another example, please refer to... Figure 4B When the mouse is rotated inwards, the image of square 401 remains unchanged. However, because cylinder 402 has rotated inwards by 90 degrees, the viewing angle changes, and the image seen after the viewpoint switch becomes a circle. For another example, please refer to... Figure 4CUsing the aforementioned method of switching the viewpoint object, the viewpoint object is switched from the canvas page to a specific 3D element. At this time, the mouse pointer is in the shape of an arrow, and the viewpoint object is cylinder 402. Figure 4C The left image shows the operation selection box for cylinder 402, prompting you to adjust the view of cylinder 402. Depending on the direction of the mouse pointer rotation, cylinder 402 can be rotated to the left by a certain angle, while the view of square 401 and other content in canvas 1 remains unchanged.
[0116] In some embodiments, the process by which the collaborative canvas host determines the page view information of the target collaborative canvas may further include the following steps:
[0117] Display the canvas interface of the target collaborative canvas on the broadcaster's client, and display at least one three-dimensional element in the canvas interface;
[0118] In response to a setting operation on at least one 3D element, the view setting area for the first element is displayed;
[0119] Receives the first-view parameters entered in the first element view setting area, and determines the page view information of the target collaborative artboard based on the first-view parameters.
[0120] As described above, the viewpoint of a 3D element can be switched by dragging the mouse. In this embodiment, the viewpoint of a 3D element can also be accurately adjusted by setting its viewpoint parameters. When a 3D element is displayed on the canvas interface of the target collaborative canvas on the collaborative canvas host's end, the viewpoint parameters of the 3D element can be set individually. Specifically, a first element viewpoint setting area can be displayed in response to a setting operation on the 3D element, where the setting operation can be a right-click or a left-click double-click on the 3D element. Furthermore, the viewpoint parameters of the 3D element can be entered in the element viewpoint setting area activated by the setting operation.
[0121] For example, please refer to Figure 5AAs shown in the figure, "Page-2" of canvas 1 includes cuboid 501. It's understandable that a page in the canvas is also borderless, so a single page can display various content, which can be different from each other. Therefore, "Page-2" of canvas 1 can display square 401 and cylinder 402 as mentioned above, as well as cuboid 501. Double-clicking cuboid 501 triggers the first element view setting prompt 502 for cuboid 501. The first element view setting prompt 502 includes, from top to bottom, pan, zoom, rotate left, and setting options 503. The pan, zoom, and rotate left options are commonly used element attribute options. For more comprehensive and precise view adjustment parameters, click setting option 503 to adjust the element view parameters. Please refer to... Figure 5B As shown in the figure, the first element view setting area 504 corresponding to setting option 503 includes a first setting menu 5041, which includes display options, pan options, rotation options, and zoom options. The control for the display option is gray to indicate that the option is selected, while the controls for the other options are white to indicate that they are not selected. The display options may include a display type setting area 5042 and a view orientation setting area 5043. The display type setting area 5042 may include options such as coloring, showing hidden lines, and removing hidden lines, which can be selected using radio buttons before each option. A gray button indicates that the option is selected; in the figure, the coloring option is selected. The view orientation setting area 5043 may include options such as front view, back view, left view, right view, top view, bottom view, and isometric view; in the figure, the front view option is selected. Through the aforementioned element attribute settings, the cuboid 501 is displayed in color, showing the front view.
[0122] In other embodiments, please refer to Figure 5C As shown in the figure, selecting the rotation option opens the first element view setting area 504, which includes a first rotation direction setting area 5044 and a first rotation angle setting area 5045. These are used to set the element's rotation direction and rotation angle, respectively. The first rotation direction setting area 5044 can include options such as clockwise, counterclockwise, around the x-axis, around the y-axis, and around the z-axis. The first rotation angle setting area 5045 can include 15, 30, 45 degrees, and a custom degree. In addition to the aforementioned view parameter settings, translation parameters can also be set. This can be done by inputting the starting coordinates of the 3D element and the coordinates of the translated ending point, or by inputting the translation distance and direction, to precisely translate the element to the target position. Based on the view parameters entered in the first element attribute setting area, the view of a specific 3D element on the canvas page can be changed while other content remains unchanged, thus determining the page view information of the target collaborative canvas.
[0123] It should be noted that the above embodiments do not constitute a limitation of this disclosure. The collaborative canvas broadcaster performs perspective change operations through the aforementioned steps. The collaborative canvas system can store the perspective change operations and operation process performed by the collaborative canvas broadcaster and generate playback videos for different collaborative canvas clients to view.
[0124] Step 220: Receive viewing parameter information for the target collaborative artboard sent by the collaborative artboard viewer.
[0125] In this embodiment, the collaborative canvas broadcaster can set the canvas page view for live streaming through the aforementioned steps, and the collaborative canvas viewer can also set viewing parameter information in the target collaborative canvas. The target collaborative canvas can be a canvas opened via the same access link as the collaborative canvas broadcaster. The viewing parameter information can include rendering parameters for rendering the live canvas view and display parameters for the collaborative canvas viewer. Rendering parameters are various settings used to control and optimize the canvas view rendering process, controlling the rendering quality of the canvas view. Viewing parameters can refer to various settings that control and optimize the presentation effect of the canvas view on the viewer's monitor or display device, specifically including parameters such as image sharpness, color saturation, and contrast.
[0126] Viewers of the collaboration board can set viewing parameters before entering the live stream, or after opening the live stream page. Before joining the live stream, viewers can set viewing parameters within the target collaboration board's application interface, or they can set them after opening the live stream view. It's important to note that when viewers update their viewing parameters, the collaboration board application's server can render the content in real-time based on the updated parameters. A detailed explanation of setting viewing parameters after opening the live stream view will follow.
[0127] Step 230: Render the canvas view corresponding to the collaborative canvas viewer based on the viewing parameter information, canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element.
[0128] In this embodiment, after obtaining the viewing parameter information of the collaborative canvas viewer, the canvas view area information of the collaborative canvas broadcaster, the attribute information of multiple canvas elements, and the display position information of each canvas element through the aforementioned steps, rendering can be performed based on this information to obtain the canvas view corresponding to the viewing parameter information set by each collaborative canvas viewer. Specifically, canvas views corresponding to multiple collaborative canvas viewers with the same viewing parameter information can be rendered. The entire process only requires one rendering, and after rendering, the views are uniformly sent to each collaborative canvas viewer. The canvas view represents the live canvas page seen by the collaborative canvas viewer. The canvas view is generated based on the page view information of the collaborative canvas broadcaster and the viewer parameter information of the collaborative canvas viewer, and multiple canvas views corresponding to different viewing parameter information can be generated in real time.
[0129] In some embodiments, rendering the canvas view corresponding to the viewer's end of the collaborative canvas based on viewing parameter information, canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element may include the following steps:
[0130] The observation image of each 3D element in multiple canvas elements is determined based on the viewing parameter information;
[0131] The collaborative canvas view for the viewer is rendered based on the observed image, canvas view area information, element image of each two-dimensional element among multiple canvas elements, and display position information of each canvas element.
[0132] In this embodiment of the disclosure, the viewing parameter information also includes the perspective parameters and rendering parameters of the three-dimensional elements. Specifically, the perspective parameters of the three-dimensional elements may include the observation direction, and the rendering parameters may include the element shape, element size, texture, and related coordinate transformation parameters. Collaborating objects that open the target collaborative canvas can perform perspective transformations on the three-dimensional elements in the live canvas view on the canvas interface. The collaborative canvas viewer can generate corresponding viewing parameter information based on the perspective transformation operation performed by the collaborative object and send the generated viewing parameter information to the collaborative canvas server for rendering.
[0133] In some embodiments, determining the observed image of each 3D element among a plurality of canvas elements based on viewing parameter information includes:
[0134] The display model of each 3D element is determined based on the viewing angle information in the viewing parameter information;
[0135] The texture information is obtained by rendering based on the lighting mode information and the viewing angle information of each 3D element in the viewing parameter information;
[0136] Based on the texture information, a texture mapping process is performed on the display model to obtain an observation image of each 3D element.
[0137] In this embodiment of the disclosure, as mentioned above, the viewing parameter information may include the viewing angle information of the three-dimensional element and the lighting mode information of the three-dimensional element. The viewing angle information may include viewing angles such as up, down, left, right, front, and back, or it may include diagonal observation or the viewing angle corresponding to a fixed point of the three-dimensional element. The viewing angle information can be generated based on the rotation, translation, scaling, homogeneous coordinate transformation, and perspective projection operations of the three-dimensional element received by the collaborative drawing board viewer terminal, or it can be generated based on the perspective parameters input by the collaborative drawing board viewer terminal in the element attribute setting area.
[0138] After the viewer on the collaborative artboard generates viewing parameter information, this information can be sent to the server corresponding to the collaborative artboard application for artboard view rendering. The collaborative artboard server can then render and generate a display model of the 3D elements based on the received viewing angle information. This display model describes the shape and structure of the 3D elements and can include information such as vertices, edges, faces, and normals.
[0139] Furthermore, after generating the display model for each 3D element, rendering can be performed based on the lighting mode information and the viewing angle information of each 3D element in the viewing parameter information to generate the texture information of the 3D element. The lighting mode information can include a lighting model and light source type. The lighting model is also known as an Ambient Diffuse Specular (ADS) model, which specifically includes ambient lighting, diffuse lighting, and specular lighting. The light source type can include global illumination, directional lighting, positional lighting, and spotlights, etc. In this disclosure, a rendering algorithm based on ray tracing and global illumination can be used. The ray tracing algorithm can calculate the color and brightness of the canvas elements by simulating the propagation process of light in the scene, thereby achieving a realistic rendering effect. The global illumination algorithm can achieve the natural reflection effect of the canvas elements by calculating direct and indirect lighting. Rendering based on the above lighting mode information can improve the rendering quality of the canvas elements. Texture information can include color, normals, roughness, and specular highlights, used to describe the material information of the canvas elements. The materials of the canvas elements provided in this disclosure can include various types, such as smooth, rough, metallic, and glass. These materials can be used to simulate the optical properties of various object surfaces. The textures provided in this disclosure can also include various types of textures, such as planar textures, three-dimensional textures, and procedural textures. Texture information can be used to simulate the geometric properties of various object surfaces. Furthermore, by combining various textures and materials, canvas views with various rendering effects can be achieved, making the rendered canvas elements richer and more vivid, and improving the viewing experience.
[0140] Furthermore, based on the generated texture information, texturing can be applied to the display model of the corresponding 3D elements. Texturing can impart surface properties to the 3D model, and the material texture generated in the preceding steps can be overlaid on the surface of the display model to generate a more vivid and realistic 3D model. Then, perspective projection transformation can be used to map the 3D display model back to 2D space to obtain the observed image of the 3D model, i.e., to generate the canvas view corresponding to the 3D model after perspective transformation.
[0141] In some embodiments, rendering a canvas view corresponding to the viewer's end of the collaborative canvas based on the observed image, canvas view area information, element image of each two-dimensional element among multiple canvas elements, and display position information of each canvas element may include the following steps:
[0142] Determine the first display position corresponding to the element image of each two-dimensional element among multiple canvas elements;
[0143] The second display position corresponding to the observed image is determined based on the element center of the three-dimensional element;
[0144] The view of each collaborative canvas is rendered based on the first display position, the second display position, the canvas view area information, the observed image, and the element image to obtain the canvas view corresponding to the viewer.
[0145] Since the element image corresponding to a 2D element is an image or graphic already projected onto a 2D plane (e.g., a screen), the 2D element is not affected by perspective changes in 3D space. The first display position of the 2D element image can be determined based on the page view information sent by the collaborative canvas broadcaster. When changing the perspective of the canvas page or a specific 3D element, the observed image of the 3D element changes. For example, for a cuboid, the observed image obtained from the diagonal viewpoint is different from that from the front viewpoint. At this time, the center of the 3D element displayed in the canvas also changes accordingly. The element center can include the centroid or geometric center of the geometry. Then, the second display position of the 3D element's observed image can be determined based on the changed element center of the 3D element.
[0146] Furthermore, rendering can be performed based on the element images of the two-dimensional elements and their corresponding first display position information, the observation images of the three-dimensional elements and their corresponding second display position information, and the canvas view area information to obtain the canvas view corresponding to the viewer's end for each collaborative canvas. It should be noted that, to improve rendering speed and performance, the rendering tasks of multiple canvas elements can be distributed across multiple cloud computing nodes to achieve efficient and high-quality perspective changes and the rendering of the corresponding canvas views.
[0147] Step 240: Send the canvas view to the collaborative canvas viewer for display.
[0148] After rendering the canvas view corresponding to each collaborative canvas viewer through the aforementioned steps, the rendered canvas view can be sent to the corresponding collaborative canvas viewer for display. Specifically, the rendered canvas view can be first compressed using lossy or lossless compression to reduce network bandwidth requirements and increase transmission speed. In this embodiment, JPEG or WebP compression algorithms can be used. The JPEG compression algorithm uses Discrete Cosine Transform (DCT) and entropy coding technology, which can achieve a high compression ratio while maintaining high image quality. The WebP algorithm is based on VP8 video coding technology, which can provide higher compression efficiency and less compression distortion. In this embodiment, a suitable compression algorithm and appropriate compression parameters can be selected according to network conditions. The compression ratio can be dynamically adjusted based on network conditions, user needs, and the complexity of canvas elements to minimize data transmission while ensuring image quality. When selecting a compression algorithm and setting compression parameters, multiple users can operate collaboratively, and the compression parameters of multiple users can be synchronized in real time, thereby ensuring that multiple users see the same canvas view effect.
[0149] Furthermore, after the canvas view is compressed, it can be transmitted to the respective collaborative canvas viewers via a network. This network transmission can employ efficient network protocols, such as Transmission Control Protocol / Internet Protocol (TCP / IP) and Web Real-Time Communications (WebRTC). TCP / IP is a connection-oriented, reliable, byte-stream-based transport layer communication protocol capable of transmitting large amounts of data, suitable for real-time communication scenarios. WebRTC is an open standard supporting real-time audio communication and data sharing, enabling peer-to-peer communication between browsers without the need for any plugins. In this embodiment, the appropriate transmission protocol and parameters can be automatically selected based on network conditions and the needs of the collaborating partners.
[0150] The transmission method of the canvas view can include various forms, such as unicast, broadcast, and multicast. In unicast mode, the collaborative canvas server can send the canvas view individually to each collaborative canvas viewer; in broadcast mode, the collaborative canvas server can send the canvas view to all collaborative canvas viewers; in multicast mode, the collaborative canvas server can send the canvas view to a specific group of collaborative canvas viewers. In this embodiment of the disclosure, an appropriate data transmission mode can be selected for transmission according to the data transmission requirements of different application scenarios, and no limitation is made here.
[0151] In this embodiment, the collaborative whiteboard application supports live streaming on various display devices, such as computer screens, mobile phone screens, or tablet screens, and supports multiple operating systems and browsers. This allows collaborators to participate in online collaboration and whiteboard live streaming anytime, anywhere, without being limited by specific devices or software. By providing real-time live streaming and viewing functions from different perspectives, this embodiment allows team members to share and access whiteboard content in real time, improving knowledge sharing effectiveness and helping team members better understand project requirements, design ideas, and implementation plans, thus promoting communication and collaboration among team members. It is understood that the live streaming function of the collaborative whiteboard application provided in this disclosure can also provide live streaming functions such as liking, forwarding, and commenting.
[0152] In some embodiments, the process of displaying a canvas view on the collaborative canvas viewer's end may include the following steps:
[0153] Display the target collaborative canvas interface on the viewer's end, and display the live stream viewing controls on the canvas interface;
[0154] The live stream window is displayed in response to the selection of the live stream control.
[0155] Display the canvas view in the live stream window.
[0156] Specifically, any viewer on a collaborative canvas can open the canvas interface of the target collaborative canvas shared by the broadcaster, where a live stream viewing control is displayed. By responding to the selection trigger of the live stream viewing control, a live stream window can be displayed on the canvas interface. The selection trigger can be implemented through mouse events or gesture recognition, etc., without limitation. Please refer to [link / reference]. Figure 6AAs shown in the figure, the viewer can open the target collaborative canvas interface 300 on the collaborative canvas viewer's end. For example, in canvas interface 300, "Page-1" of canvas 1 can be opened. The canvas page opened on the collaborative canvas viewer's end can be different from the canvas page displayed in the live stream. For example, the canvas page opened on the collaborative canvas viewer's end is "Page-1" of canvas 1, while the content displayed in the live stream is the content of "Page-2" of canvas 1. It should be noted that the collaborative canvas viewer's end and the collaborative canvas broadcaster's end should open the same target collaborative canvas (e.g., canvas 1) so that the viewer can watch the live stream through the canvas. The canvas element displayed in the canvas interface 300 opened on the collaborative canvas viewer's end is a cone 601. When the canvas interface 300 is opened, a function control preview area 602 can be displayed within the canvas interface 300. From left to right, the function control preview area 602 contains controls for watching the live stream, inserting images, and forwarding / sharing. Frequently used function controls can be added in the function control preview area 602. Clicking the live stream control displays a list of live stream participants corresponding to the target collaboration board, their identity information, and the live stream topic name (not shown in the figure). Furthermore, clicking the live stream topic name opens the corresponding live stream window, as shown in live stream window 603. The content displayed in live stream window 603 is controlled by the collaboration board host, and the displayed board elements include cylinders and cuboids. Collaborators watching the live stream can click live stream window 603 to enter the corresponding live stream room.
[0157] Please continue to refer to Figure 6B The live streaming window 603 can display a live streaming function control option area 6031. From left to right, the live streaming function control option area 6031 includes a live streaming sharing control, a live streaming full-screen control, and more option controls. It may also include a control to close the live streaming window (not shown in the figure). Clicking the live streaming sharing control shares the currently viewed canvas live stream to other collaborators; clicking the live streaming full-screen control displays the live canvas view in full screen, then windowes the canvas interface 300 displayed on the collaborating canvas viewer's end; the two can be switched between; clicking the more option controls displays other live streaming settings options.
[0158] In some embodiments, a canvas view is displayed through a live streaming window. Collaborative canvas viewers can also adjust the viewing parameters of the canvas view. The collaborative canvas viewers can generate the viewing parameters through the following steps:
[0159] In response to a trigger operation on the live stream window in the canvas interface, the live stream viewing property settings area is displayed;
[0160] Receive viewing attribute data entered in the viewing attribute settings area, and determine the viewing parameter information for the target collaborative artboard based on the viewing attribute data.
[0161] Specifically, the target collaborative artboard's interface is displayed on the viewer's end of the collaborative artboard. Responding to trigger operations on the live stream window within the artboard interface, a live stream viewing attribute settings area is displayed. These trigger operations can be performed using the mouse or keyboard shortcuts. Furthermore, viewing attribute data can be entered in the live stream viewing attribute settings area. This data can include display parameters, such as the brightness, contrast, and color saturation of the displayed artboard view, as well as display modes, such as full-screen mode, windowed mode, and split-screen mode. In full-screen mode, the artboard view is displayed across the entire viewer's screen, providing an immersive viewing experience. In windowed mode, the artboard view is displayed in a small window, allowing collaborators to perform other operations on other artboard pages within the target collaborative artboard. In split-screen mode, the artboard view is displayed side-by-side with the artboard interface set to be displayed on the viewer's end, facilitating comparison and reference of artboard content among collaborators.
[0162] In this disclosed embodiment, please refer to Figure 6C The collaborative canvas viewer can display canvas content from any page within the canvas interface 300 of the target collaborative canvas. For example, a text box 607 can be displayed in "Page-1" of canvas 1, and the live stream window 603 can display the canvas view controlled by the broadcaster. By responding to a trigger operation on the live stream window 603, the viewing attribute setting area 604 of the canvas view can be displayed, where relevant viewing attribute data for watching the live stream can be set. Specifically, the viewing attribute setting area 604 may include a display parameter setting area 6041 and a display mode setting area 6042. The display parameter setting area 6041 may include viewing attribute parameters such as resolution, contrast, and color saturation. The display mode setting area 6042 may include split-screen mode, full-screen mode, and window mode, where split-screen mode is currently selected.
[0163] As mentioned above, the collaborative canvas viewer can update and send viewing parameter information again after receiving the successfully rendered canvas view from the collaborative canvas server. Alternatively, the viewing parameter information can be set before entering the live stream, or the viewing parameter information can be dynamically adjusted during the canvas live stream. The adjusted viewing parameter information can then be sent to the collaborative canvas server for real-time rendering. The collaborative canvas server can then perform real-time rendering based on the viewing parameter information and send the rendered canvas view to the corresponding collaborative canvas viewer for display.
[0164] In some embodiments, the collaborative canvas viewer can generate viewing parameter information through the following steps:
[0165] Based on a pre-defined neural network model, the viewing intent is identified from the viewing attribute data of the historical canvas view, and the viewing attribute data is determined based on the viewing intent identification results.
[0166] Viewing parameter information for the target collaborative canvas is determined based on viewing attribute data.
[0167] Specifically, a training set can be obtained through the viewing attribute parameters corresponding to the historical canvas views to train a neural network to intelligently identify the viewing intentions of collaborating objects and automatically adjust the perspective parameters. As described in the previous steps, the perspective change operations and processes of both the collaborative canvas viewer and the collaborative canvas broadcaster can be saved to generate relevant logs. The preset neural network model can be trained by obtaining the viewing attribute data corresponding to the historical canvas views of the collaborative canvas viewer in the logs. The neural network model can be a Long Short-Term Memory (LSTM) network or a Convolutional Neural Network (CNN), which is not limited here.
[0168] Furthermore, the trained neural network model can be used to identify viewing intentions based on historical canvas view viewing attribute data to obtain viewing intention recognition results. For example, based on the historical viewing attribute data of collaborative canvas viewers, it can be identified that collaborative canvas viewers tend to view canvas views with lower brightness and lower color saturation. In this case, lower brightness parameters and lower color saturation parameters can be set according to the viewing intention recognition results.
[0169] Furthermore, the viewing parameter information of the target collaborative artboard can be further determined based on the viewing attribute parameters determined by the neural network model, and the determined viewing parameter information can be sent to the collaborative artboard server to render a new artboard view. It is understandable that the neural network model can automatically train and update its parameters based on the updated viewing attribute data to provide more accurate viewing intent recognition results.
[0170] This disclosure embodiment identifies the viewing intentions of collaborating objects through a neural network model, enabling more proactive and personalized perspective changes without requiring collaborating objects to manually set viewing parameter information, thus improving the user experience of the collaborative canvas. This disclosure embodiment allows setting viewing attribute data for the canvas view, and can also change the perspective of canvas elements or the canvas page in the live-streamed canvas view. It can determine the viewing parameter information of the target collaborative canvas based on the perspective change operation and the aforementioned set viewing attribute data, and render the canvas view in real time according to the viewing parameter information. The following will describe the detailed process of performing perspective change operations on the canvas content in the canvas view displayed on the collaborative canvas viewer's end and generating corresponding viewing parameter information.
[0171] In some embodiments, the collaborative canvas viewer generates viewing parameter information through the following steps:
[0172] Display at least one 3D element in the artboard view of the target collaboration artboard;
[0173] In response to the selection of at least one 3D element, the element selection area is displayed;
[0174] Receive settings operations within the element selection area and display the second element view settings area;
[0175] It receives the second-view parameters entered in the second-element view setting area and determines the viewing parameter information for the target collaborative canvas based on the second-view parameters.
[0176] In this embodiment, the collaborative canvas viewer displays the canvas interface of the target collaborative canvas and a canvas view controlled by the collaborative canvas broadcaster, which displays at least one three-dimensional element. Further, a three-dimensional element in the canvas view can be selected, and the corresponding element selection area can be displayed to prompt the collaborating object to perform a perspective change on the three-dimensional element in the element selection area. Further, a setting operation for the three-dimensional element can be received in the element selection area, where the setting operation can be placing the mouse pointer in the element selection area, displaying a prompt for element perspective setting, and then opening a second element perspective setting area through the element perspective setting prompt. The second element perspective setting area for perspective change on the collaborative canvas viewer can be the same as the display area of the first element perspective setting area for perspective change on the collaborative canvas broadcaster, such as... Figure 5B as well as Figure 5CThe element view setting area is displayed in the middle. Similarly, it can receive second view parameters entered in the second element view setting area, and determine the viewing parameter information of the target collaborative canvas based on the input second view parameters. The second view parameters can be the same as the first view parameters set by the collaborative canvas host, such as the view orientation parameters of the 3D elements and the display type of the 3D elements.
[0177] In this disclosed embodiment, please refer to Figure 7 As shown in the figure, "Page-1" can be displayed in the canvas interface 300 of the target collaborative canvas opened on the collaborative canvas viewer's end. The aforementioned live stream window 603 can also be displayed in the canvas interface 300 on the collaborative canvas viewer's end. The live stream window 603 includes a 3D element cylinder and a 3D element cuboid. The mouse pointer can be placed on the surface of the 3D element whose viewpoint needs adjustment to display an element viewpoint setting tooltip. Clicking on the 3D element will then display the second element viewpoint setting area 702 corresponding to the tooltip. Simultaneously, the selected 3D element will display a corresponding element selection area. As shown in the figure, the cylinder selection area 701 can be displayed. It should be noted that the element selection area can be displayed by making the lines of the selected 3D element dashed, or by directly displaying an element selection box around the selected 3D element to indicate that the current 3D element is selected.
[0178] Furthermore, second-viewpoint parameters can be entered in the displayed second-element viewpoint setting area 702 to perform viewpoint transformation operations on the 3D element. As shown in the figure, the second-element viewpoint setting area 702 may include a second settings menu 7021. Selecting the rotation option in the second settings menu 7021 will display the rotation parameter setting area corresponding to the rotation option. The rotation parameter setting area may include a second rotation direction setting area 7022 and a second rotation angle setting area 7023. Selecting the clockwise option in the second rotation direction setting area 7022 and entering a custom rotation angle of 90 degrees in the second rotation angle setting area 7023 allows for viewpoint transformation of the 3D element corresponding to the cylindrical selection area 701 based on the input second-viewpoint parameters. Specifically, the collaborative drawing board viewer can generate viewing parameter information corresponding to the 3D element from the set second-viewpoint parameters and send it to the collaborative drawing board server. The collaborative canvas server can generate an image corresponding to the 3D element after the perspective change based on the display position and viewing parameter information of the 3D element. Then, it merges the image with other canvas content in the canvas view and finally sends the generated complete image to the collaborative canvas viewer for display, so that the collaborative canvas viewer can display the canvas view after the perspective change of the 3D element.
[0179] In this disclosed embodiment, please refer to Figure 8 , Figure 8 The canvas view in the live stream window 603 displayed is... Figure 7 The second-person perspective parameters are generated during rendering. Figure 7 The second view parameter input is to rotate the cylinder corresponding to the cylinder selection area 701 clockwise by 90 degrees, such as... Figure 8 The cylindrical selection area 701 displayed in the live window 603 is rotated 90 degrees clockwise.
[0180] In some embodiments, after displaying the canvas view in the live streaming window, the method provided in this disclosure further includes:
[0181] Receive a second drag operation on the canvas view in the target collaborative canvas, and generate a view update instruction for the canvas view based on the second drag operation;
[0182] Send the view update command to the collaborative artboard server for rendering update, and receive the updated artboard view sent by the collaborative artboard server;
[0183] Display an updated canvas view in the live stream window.
[0184] Specifically, the aforementioned steps can be used to change the perspective of 3D elements in the canvas view, and dragging these elements can also achieve the same effect. The target collaborative canvas's interface is displayed on the viewer's end, and a second drag operation on the canvas view or on 3D elements within it can be received. Further, a perspective update command for the canvas view can be generated based on the second drag operation. This command can include canvas view area information, attribute information of the canvas elements displayed in the view, perspective parameters for changing the perspective of the canvas view, and the display position information of each canvas element.
[0185] Then, the view update command generated by the collaborative canvas viewer can be sent to the collaborative canvas server for rendering and updating. The collaborative canvas server can render and generate an updated canvas view based on the information in the view update command, and send the rendered updated canvas view to the collaborative canvas viewer for display.
[0186] Please refer to Figure 9As shown in the figure, a canvas view is displayed in the live streaming window 603. Clicking on a cylinder in the canvas view with the mouse displays the corresponding cylinder selection area 701. In response to dragging the element to the left, the element can be translated to the left. After the translation is complete, the element selection area automatically disappears, restoring the original canvas element. It should be noted that after translation, only the translated 3D element is displayed in the canvas view, not the 3D element before translation. The above example does not limit the embodiments provided in this disclosure; other perspective transformations can also be performed on the 3D elements in the canvas view.
[0187] In implementing the collaborative canvas live streaming function, this embodiment can receive viewing parameter information sent by the live stream viewers, and then personalize the viewing angle of the 3D elements in the collaborative canvas streamed by the host based on the viewing parameter information, thereby improving the flexibility of canvas view processing. The generated canvas view can then be sent to the corresponding collaborative canvas viewers for display. In this way, different collaborative canvas viewers can adjust the canvas view for live streaming independently, improving the viewing experience of the live canvas stream.
[0188] This disclosure provides a detailed description of embodiments in conjunction with specific application scenarios.
[0189] like Figure 10 The diagram shown is another flowchart illustrating the view processing method for the collaborative canvas provided in this disclosure. This embodiment will provide a detailed description of the view processing method for the collaborative canvas in conjunction with the executing entities of each step. The method specifically includes the following steps:
[0190] Step 1010: The collaborative canvas host sends the page view information of the target collaborative canvas to the collaborative canvas server.
[0191] In this system, the speaker initiating the live stream can display the target collaborative canvas interface on the collaborative canvas broadcaster's client. They can then initiate the live stream on the canvas interface and edit the canvas content. The collaborative canvas broadcaster's client can generate the target collaborative canvas's page view information in real time based on the speaker's editing operations and send it to the collaborative canvas server for rendering the live stream. The specific content of the page view information has been described in the preceding embodiments and will not be repeated here.
[0192] Step 1020: The viewer of the collaborative artboard sends the viewing parameter information for the target collaborative artboard to the collaborative artboard server.
[0193] In this embodiment, the collaborative canvas viewer can receive viewpoint parameters set by multiple collaborating objects or viewpoint transformation operations from multiple collaborating objects, such as panning, zooming, rotating, or other viewpoint transformation operations, and generate corresponding viewing parameter information based on the set viewpoint parameters or viewpoint transformation operations. Furthermore, collaborating objects can also set display parameters for the displayed live stream page, such as contrast, color saturation, or brightness. They can also automatically identify relevant parameters of the monitor or display device through a neural network model, adjust them to appropriate display parameters, and then generate viewing parameter information based on these display parameters. Further, the collaborative canvas viewer can integrate the generated viewing parameter information and send it to the collaborative canvas server for canvas view rendering.
[0194] Step 1030: The collaborative canvas server renders the canvas view corresponding to the collaborative canvas viewer based on the page view information and viewing parameter information.
[0195] After receiving the page view information sent by the collaborative canvas host and the viewing parameter information sent by at least one collaborative canvas viewer through the aforementioned steps, the collaborative canvas server can render the canvas view based on the page view information and the viewing parameter information. Specifically, the collaborative canvas server may include a viewpoint processing module. Please refer to... Figure 11 The collaborative canvas server may include a view processing module 1100, which may include a view transformation submodule 1101 and a rendering submodule 1102. The view transformation submodule 1101 may include homogeneous coordinate transformation, rotation operation, translation operation, scaling operation and perspective projection transformation. The rendering submodule 1102 may include ray tracing algorithm, global illumination algorithm, material and texture mapping, and dynamic adjustment of rendering parameters.
[0196] In this embodiment, the perspective processing module 1100 of the collaborative canvas server can generate canvas views corresponding to operations such as rotation, translation, and scaling of the canvas content based on page view information and viewing parameter information, thereby realizing perspective transformation. The rendering submodule 1102 can render the canvas content after perspective transformation to generate a realistic canvas view. Specifically, the collaborative canvas server can perform homogeneous coordinate transformation through the perspective transformation submodule 1101 to map the canvas elements of the target collaborative canvas in two-dimensional space to three-dimensional space, so as to facilitate three-dimensional transformation operations of the canvas elements. Further, the canvas elements can be rotated, translated, or scaled based on the page view information and viewing parameter information sent by the collaborative canvas viewer. The collaborative canvas broadcaster can control the displayed canvas content, and the collaborative canvas viewer can set perspective parameters and viewing attribute data for the live-displayed canvas content. The specific setting methods have been described in detail in the preceding steps and will not be repeated here. After performing the corresponding perspective transformation operation on the canvas content, the 3D canvas content can be projected onto 2D space through perspective projection transformation, generating the canvas view corresponding to the viewer's end of the collaborative canvas after perspective transformation. The perspective transformation submodule 1101 can also automatically adjust the perspective parameters based on the historical viewing parameters set by the collaborative objects. For example, based on factors such as the collaborative objects' operating habits, display device size, and resolution, it can automatically adjust parameters such as rotation angle, translation distance, and scaling ratio. The perspective transformation submodule 1101 also supports collaborative operation of multiple collaborative objects, and can synchronize the perspective parameters of multiple collaborative objects in real time to ensure that multiple collaborative objects can see consistent canvas content.
[0197] Furthermore, the rendering submodule 1102 can render the canvas content based on ray tracing and global illumination algorithms. Ray tracing calculates the color and brightness of the canvas content by simulating the propagation of light in the scene, while global illumination calculates direct and indirect lighting in the scene to achieve soft shadows and natural reflections on the canvas content. The rendering submodule 1102 supports various materials and texture maps, making the canvas content richer and more vivid. Materials can include smooth, rough, metallic, and glass types, simulating the optical properties of various object surfaces; textures can include planar textures, 3D textures, and procedural textures, simulating the geometric properties of various object surfaces. By combining different materials and textures, the rendering submodule 1102 can generate a variety of canvas view effects to meet the needs of different collaborating objects. The rendering submodule 1102 also supports dynamically adjusting rendering parameters to adapt to the needs of different collaborative canvas viewers and different network environments. For example, it automatically adjusts the rendering quality, resolution, and frame rate based on factors such as the display device performance and network bandwidth of the collaborative canvas viewers. In addition, the rendering submodule 1102 also supports collaborative operation of multiple collaborating objects, and can synchronize the rendering parameters of multiple collaborating objects in real time to ensure that all collaborating objects can see a consistent canvas view effect.
[0198] Step 1040: The collaborative canvas server sends the canvas view to the collaborative canvas viewer.
[0199] Specifically, the collaborative canvas server can send the rendered canvas view to the collaborative canvas viewer in real time via a network transmission module. For details, please refer to... Figure 12The network transmission module 1200 may include a data compression submodule 1201 and a data transmission submodule. The data compression submodule 1201 can perform lossy or lossless compression on the rendered canvas view to reduce network bandwidth requirements and increase transmission speed. The data compression submodule 1201 employs advanced image compression algorithms, such as the Joint Photographic Experts Group (JPEG) compression algorithm and the Web Picture (WebP) compression algorithm. The JPEG compression algorithm achieves a high compression ratio while maintaining high image quality, while the WebP compression algorithm improves compression efficiency and reduces compression distortion. The data compression submodule 1201 automatically selects appropriate compression algorithms and parameters based on network conditions. For example, it supports dynamically adjusting the compression ratio, automatically optimizing the compression effect based on network conditions and the complexity of the canvas view content to minimize the amount of transmitted data while ensuring image quality. Furthermore, the data compression submodule 1201 supports collaborative operation by multiple collaborating objects, allowing real-time synchronization of compression parameters across multiple objects to ensure all collaborating objects see a consistent canvas view effect.
[0200] Furthermore, the data transmission submodule 1202 can transmit the compressed canvas view to the respective collaborative canvas viewers via the network. The data transmission submodule 1202 employs efficient network transmission protocols, such as Transmission Control Protocol / Internet Protocol and Web Page Real-Time Communication Protocol. The data transmission submodule 1202 can automatically select the appropriate transmission protocol and parameters based on network conditions and viewing requirements. The data transmission submodule 1202 supports multiple transmission modes, as described in the preceding steps and will not be repeated here.
[0201] Step 1050: The collaborative canvas viewer receives the canvas view and displays the canvas view.
[0202] The collaborative artboard viewer receives the artboard view; for details, please refer to [link / reference]. Figure 13The collaborative canvas viewer receives and displays the canvas view sent by the collaborative canvas server through the receiving and display module 1300. The receiving and display module 1300 may include a data decompression submodule 1301 and a display submodule 1302. The data decompression submodule 1301 can decompress the received compressed canvas view to restore the original canvas view. The data decompression submodule 1301 can employ a decompression algorithm matching that of the data compression submodule 1201, such as the Joint Image Experts Group decompression algorithm and webpage image decompression algorithms. The data decompression submodule 1301 also supports dynamic adjustment of decompression parameters. For example, it can automatically adjust the decompression speed and quality based on factors such as display device performance and network conditions. Furthermore, the data decompression submodule 1301 supports collaborative operation by multiple collaborating objects, and can synchronize the decompression parameters of multiple collaborating objects in real time to ensure that all collaborating objects see a consistent canvas view effect.
[0203] Furthermore, the display submodule 1302 can display the decompressed canvas view on the display device of the collaborative canvas viewer. The display submodule 1302 supports multiple display modes, such as full-screen display, windowed display, and split-screen display. The display submodule 1302 supports dynamic adjustment of display parameters, such as brightness, contrast, and color saturation. Viewers can adjust the display parameters according to their viewing habits and the current environment to obtain the best viewing experience.
[0204] In some embodiments, please refer to Figure 14 The collaborative canvas viewer can also include an interaction module 1400, which can handle interactive operations of collaborative objects, such as view switching, zooming, and panning. The interaction module 1400 adopts advanced human-computer interaction technologies, such as touch operation and gesture recognition, and can easily switch views, zoom the canvas view, and pan the canvas view through simple touch operations and gestures.
[0205] This disclosure adopts a modular design approach, which is easy to expand and maintain. New functions can be quickly added or existing functions optimized according to actual needs. This disclosure can also be combined with augmented reality technology to overlay virtual canvas content onto the real world. Viewers can use augmented reality (AR) devices (such as smart glasses) to view and manipulate the canvas view in real time, obtaining an immersive viewing experience.
[0206] In some embodiments, please refer to Figure 15The collaborative canvas server can receive canvas text 1501 sent by the collaborative canvas broadcaster client, compress the canvas text 1501, and then transmit it to the collaborative canvas server. The collaborative canvas server can perform real-time perspective transformation on the canvas text 1501, generating multiple canvas views from different angles, and push the processed canvas views to multiple collaborative canvas view clients in real time. Multiple collaborative canvas view clients can simultaneously receive canvas views from the collaborative canvas server, decompress the received canvas views, restore the original canvas views, and then display the canvas views as video stream 1502 (or frames) on the collaborative canvas view client.
[0207] Description of apparatus and devices according to embodiments of this disclosure
[0208] It is understood that although the steps in the above flowcharts are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated in this embodiment, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the above flowcharts may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0209] It should be noted that in the various specific embodiments of this disclosure, when processing is required based on data related to the characteristics of the target object, such as target object attribute information or a set of attribute information, the permission or consent of the target object will be obtained first. Furthermore, the collection, use, and processing of this data will comply with the relevant laws, regulations, and standards of the relevant regions. In addition, when this application embodiment needs to obtain target object attribute information, separate permission or consent from the target object will be obtained through pop-up windows or redirection to a confirmation page. Only after obtaining the target object's separate permission or consent will the necessary target object-related data for the normal operation of this application embodiment be obtained.
[0210] Figure 16 A schematic diagram of the view processing device 1600 for a collaborative drawing board provided in this embodiment of the disclosure. The device includes:
[0211] The first receiving unit 1610 is used to receive page view information of the target collaborative canvas sent by the collaborative canvas broadcaster terminal. The page view information includes canvas view area information, attribute information of multiple canvas elements, and display position information of each of the multiple canvas elements. The multiple canvas elements include at least one three-dimensional element.
[0212] The second receiving unit 1620 is used to receive viewing parameter information of the target collaborative drawing board sent by the collaborative drawing board viewer terminal;
[0213] The rendering unit 1630 is used to render the canvas view corresponding to the collaborative canvas viewer based on the viewing parameter information, the canvas view area information, the attribute information of the multiple canvas elements, and the display position information of each canvas element.
[0214] The sending unit 1640 is used to send the canvas view to the collaborative canvas viewer for display.
[0215] Optionally, in some embodiments, the rendering unit includes:
[0216] The first determining subunit is used to determine the observed image of each three-dimensional element among the plurality of canvas elements based on the viewing parameter information;
[0217] The rendering subunit is used to render the canvas view corresponding to the collaborative canvas viewer based on the observed image, the canvas view area information, the element image of each two-dimensional element among the plurality of canvas elements, and the display position information of each canvas element.
[0218] Optionally, in some embodiments, the determining subunit includes:
[0219] The first determining module is used to determine the display model of each three-dimensional element based on the viewing angle information in the viewing parameter information;
[0220] The first rendering module is used to render texture information based on the lighting mode information in the viewing parameter information and the viewing angle information of each three-dimensional element.
[0221] The texturing module is used to perform texturing processing on the display model according to the texture information to obtain an observation image of each of the three-dimensional elements.
[0222] Optionally, in some embodiments, the rendering subunit includes:
[0223] The second determining module is used to determine the first display position corresponding to the element image of each of the plurality of canvas elements;
[0224] The third determining module is used to determine the second display position corresponding to the observed image based on the element center of the three-dimensional element;
[0225] The second rendering module is used to render a canvas view corresponding to the viewer end of each collaborative canvas based on the first display position, the second display position, the canvas view area information, the observed image, and the element image.
[0226] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0227] The first display subunit is used to display the canvas interface of the target collaborative canvas on the collaborative canvas broadcaster terminal;
[0228] The second display subunit is used to display a view operation option area in the drawing board interface, the view operation option area including multiple view operation controls;
[0229] The first receiving subunit is used to receive a selection operation on the target view operation control in the view operation option area, and to receive a first drag operation on the target view operation control.
[0230] The second determining subunit is used to determine the page view information of the target collaborative canvas based on the first drag operation.
[0231] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0232] The third display subunit is used to display the canvas interface of the target collaborative canvas on the collaborative canvas broadcaster terminal, and to display at least one three-dimensional element in the canvas interface;
[0233] The fourth display subunit is used to display the first element view setting area in response to the setting operation of the at least one three-dimensional element;
[0234] The third determining subunit is used to receive the first perspective parameter input in the first element perspective setting area, and determine the page view information of the target collaborative canvas based on the first perspective parameter.
[0235] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0236] The fifth display subunit is used to display the canvas interface of the target collaborative canvas on the viewer's end of the collaborative canvas, and to display live streaming control on the canvas interface;
[0237] The sixth display subunit is used to display the live stream window in response to the selection of the live stream control;
[0238] The seventh display subunit is used to display the canvas view in the live streaming window.
[0239] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0240] The eighth display subunit is used to display the live streaming viewing attribute setting area in response to a trigger operation on the live streaming window in the canvas interface.
[0241] The fourth determining subunit is used to receive viewing attribute data input in the viewing attribute setting area and determine viewing parameter information for the target collaborative drawing board based on the viewing attribute data.
[0242] Optionally, in some embodiments, the view processing method for the collaborative canvas provided in this disclosure includes:
[0243] The fifth determining subunit is used to identify the viewing intent based on the viewing attribute data of the historical canvas view using a preset neural network model, and to determine the viewing attribute data based on the viewing intent identification result.
[0244] The sixth determining subunit is used to determine the viewing parameter information for the target collaborative drawing board based on the viewing attribute data.
[0245] Optionally, in some embodiments, the collaborative drawing board viewer generates the viewing parameter information through the following steps:
[0246] The ninth display subunit is used to display at least one three-dimensional element in the canvas view of the target collaborative canvas;
[0247] The tenth display subunit is used to display an element selection area in response to a selection operation on the at least one three-dimensional element;
[0248] The eleventh display subunit is used to receive setting operations in the element selection area and display the second element view setting area;
[0249] The seventh determining subunit is used to receive the second perspective parameter input in the second element perspective setting area, and determine the viewing parameter information of the target collaborative canvas based on the second perspective parameter.
[0250] Optionally, in some embodiments, the view processing apparatus for the collaborative canvas provided in this disclosure further includes:
[0251] A generation subunit is configured to receive a second drag operation on the canvas view in the target collaborative canvas, and generate a view update instruction for the canvas view based on the second drag operation.
[0252] The second receiving subunit is used to send the view update instruction to the collaborative canvas server for rendering update, and to receive the updated canvas view sent by the collaborative canvas server.
[0253] The twelfth display subunit is used to display the updated canvas view in the live streaming window.
[0254] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0255] Reference Figure 17 , Figure 17 The structural block diagram of the collaborative canvas host terminal 110 or collaborative canvas view terminal 140, which implements the view processing method of the collaborative canvas according to the embodiments of this disclosure, includes the following components: a radio frequency (RF) circuit 1710, a memory 1715, an input unit 1730, a display unit 1740, a sensor 1750, an audio circuit 1760, a wireless fidelity (WiFi) module 1770, a processor 1780, and a power supply 1790. Those skilled in the art will understand that... Figure 17 The structure of the collaborative drawing board host 110 or collaborative drawing board viewer 140 shown does not constitute a limitation on mobile phones or computers. It may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0256] RF circuit 1710 can be used to receive and transmit signals during information transmission or calls. In particular, it receives downlink information from the base station and processes it with processor 1780; in addition, it transmits uplink data to the base station.
[0257] The memory 1715 can be used to store software programs and modules. The processor 1780 executes various terminal functions and document editing by running the software programs and modules stored in the memory 1715.
[0258] The input unit 1730 can be used to receive input numeric or character information, and to generate key signal inputs related to the terminal's settings and function control. Specifically, the input unit 1730 may include a touch panel 1731 and other input devices 1732.
[0259] The display unit 1740 can be used to display input or provided information, as well as various menus of the terminal. The display unit 1740 may include a display panel 1741.
[0260] Audio circuitry 1760, speaker 1761, and microphone 1762 provide an audio interface.
[0261] In this embodiment, the processor 1780 included in the collaborative drawing board host terminal 110 or the collaborative drawing board view terminal 140 can execute the collaborative drawing board view processing method of the previous embodiment.
[0262] The collaborative drawing board broadcaster terminal 110 or collaborative drawing board viewer terminal 140 in this embodiment includes, but is not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, aircraft, etc.
[0263] Figure 18 This is a partial structural block diagram of a server 130 implementing the view processing method for the collaborative whiteboard according to embodiments of the present disclosure. The server 130 can vary significantly due to different configurations or performance, and may include one or more central processing units (CPUs) 1822 (e.g., one or more processors) and storage devices 1832, and one or more storage media 1830 (e.g., one or more mass storage devices) storing application programs 1842 or data 1844. The storage devices 1832 and storage media 1830 may be temporary or persistent storage. The program stored in the storage media 1830 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the server 130. Furthermore, the CPU 1822 may be configured to communicate with the storage media 1830 and execute the series of instruction operations in the storage media 1830 on the server 130.
[0264] Server 130 may also include one or more power supplies 1826, one or more wired or wireless network interfaces 1850, one or more input / output interfaces 1858, and / or one or more operating systems 1841, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0265] The central processing unit 1822 in server 130 can be used to execute the view processing method of the collaborative canvas according to the embodiments of this disclosure.
[0266] This disclosure also provides a storage medium for storing program code, which is used to execute the view processing method of the collaborative canvas in the foregoing embodiments.
[0267] This disclosure also provides a computer program product comprising a computer program. A processor of a computer device reads and executes the computer program, causing the computer device to perform the view processing method for the collaborative drawing board described above.
[0268] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in this disclosure and the foregoing drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “including,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.
[0269] It should be understood that in this disclosure, "at least one item" means one or more, and "more than one" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0270] It should be understood that in the description of the embodiments disclosed herein, "multiple" means two or more, "greater than", "less than", "exceeding" etc. are understood to exclude the number itself, and "above", "below", "within" etc. are understood to include the number itself.
[0271] In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.
[0272] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0273] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0274] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0275] It should also be understood that the various implementation methods provided in this disclosure can be combined arbitrarily to achieve different technical effects.
[0276] The above is a detailed description of the embodiments of this disclosure. However, this disclosure is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this disclosure. All such equivalent modifications or substitutions are included within the scope defined by the claims of this disclosure.
Claims
1. A view processing method for a collaborative canvas, characterized in that, The method includes: The system receives page view information of the target collaborative canvas sent by the collaborative canvas broadcaster. The page view information includes canvas view area information, attribute information of multiple canvas elements, and display position information of each canvas element. The multiple canvas elements include at least one three-dimensional element. Receive viewing parameter information for the target collaborative canvas sent by the viewer's end; The view of the collaborative canvas corresponding to the viewer is rendered based on the viewing parameter information, the canvas view area information, the attribute information of the multiple canvas elements, and the display position information of each canvas element. The canvas view is sent to the collaborative canvas viewer for display.
2. The method according to claim 1, characterized in that, The step of rendering the canvas view corresponding to the viewer's end of the collaborative canvas based on the viewing parameter information, the canvas view area information, the attribute information of the multiple canvas elements, and the display position information of each canvas element includes: The observation image of each three-dimensional element among the plurality of canvas elements is determined based on the viewing parameter information; The collaborative canvas view corresponding to the viewer's end is rendered based on the observed image, the canvas view area information, the element image of each two-dimensional element among the multiple canvas elements, and the display position information of each canvas element.
3. The method according to claim 2, characterized in that, The step of determining the observed image of each 3D element among the plurality of canvas elements based on the viewing parameter information includes: The display model of each three-dimensional element is determined based on the viewing angle information in the viewing parameter information; Rendering is performed based on the lighting mode information in the viewing parameter information and the viewing angle information of each three-dimensional element to obtain texture information; Based on the texture information, a texture mapping process is performed on the display model to obtain an observation image of each of the three-dimensional elements.
4. The method according to claim 2, characterized in that, The step of rendering the canvas view corresponding to the collaborative canvas viewer based on the observed image, the canvas view area information, the element image of each two-dimensional element among the plurality of canvas elements, and the display position information of each canvas element includes: Determine the first display position corresponding to the element image of each of the plurality of canvas elements; The second display position corresponding to the observed image is determined based on the element center of the three-dimensional element; The view of each collaborative canvas is rendered based on the first display position, the second display position, the canvas view area information, the observed image, and the element image to obtain the canvas view corresponding to the viewer.
5. The method according to any one of claims 1 to 4, characterized in that, The process by which the broadcaster determines the page view information of the target collaborative canvas includes: The target collaborative canvas interface is displayed on the broadcaster's terminal. The view operation option area is displayed in the canvas interface, and the view operation option area includes multiple view operation controls; Receives a selection operation on the target view operation control in the view operation option area, and receives a first drag operation on the target view operation control; The page view information of the target collaborative canvas is determined based on the first drag operation.
6. The method according to any one of claims 1 to 4, characterized in that, The process by which the broadcaster determines the page view information of the target collaborative canvas includes: The target collaborative canvas is displayed on the broadcaster's terminal, and at least one three-dimensional element is displayed on the canvas interface. In response to a setting operation on the at least one three-dimensional element, the first element view setting area is displayed; Receive the first perspective parameter input in the first element perspective setting area, and determine the page view information of the target collaborative canvas based on the first perspective parameter.
7. The method according to any one of claims 1 to 6, characterized in that, The process of displaying the canvas view on the viewer's end of the collaborative canvas includes: The target collaborative canvas is displayed on the viewer's end of the collaborative canvas, and a live streaming control is displayed on the canvas interface. In response to the selection of the live stream control, the live stream window is displayed; The canvas view is displayed in the live streaming window.
8. The method according to claim 7, characterized in that, The collaborative drawing board viewer generates the viewing parameter information through the following steps: In response to a trigger operation on the live stream window in the canvas interface, the live stream viewing attribute settings area is displayed; The system receives viewing attribute data input in the viewing attribute setting area and determines viewing parameter information for the target collaborative canvas based on the viewing attribute data.
9. The method according to claim 7, characterized in that, The collaborative drawing board viewer generates the viewing parameter information through the following steps: Based on a pre-defined neural network model, the viewing intent is identified from the viewing attribute data of the historical canvas view, and the viewing attribute data is determined based on the viewing intent identification results. Based on the viewing attribute data, the viewing parameter information for the target collaborative canvas is determined.
10. The method according to claim 7, characterized in that, The collaborative drawing board viewer generates the viewing parameter information through the following steps: At least one three-dimensional element is displayed in the canvas view of the target collaborative canvas; In response to the selection operation of the at least one three-dimensional element, the element selection area is displayed; Receive setting operations in the element selection area and display the second element view setting area; Receive the second perspective parameter input in the second element perspective setting area, and determine the viewing parameter information for the target collaborative canvas based on the second perspective parameter.
11. The method according to claim 7, characterized in that, After displaying the canvas view in the live streaming window, the method further includes: Receive a second drag operation on the canvas view in the target collaborative canvas, and generate a view update instruction for the canvas view based on the second drag operation; The view update command is sent to the collaborative canvas server for rendering update, and the updated canvas view is received from the collaborative canvas server. The updated canvas view is displayed in the live stream window.
12. A view processing device for a collaborative drawing board, characterized in that, The device includes: The first receiving unit is used to receive page view information of the target collaborative canvas sent by the collaborative canvas broadcaster terminal. The page view information includes canvas view area information, attribute information of multiple canvas elements, and display position information of each of the multiple canvas elements. The multiple canvas elements include at least one three-dimensional element. The second receiving unit is used to receive viewing parameter information for the target collaborative drawing board sent by the viewer terminal of the collaborative drawing board. The rendering unit is used to render the canvas view corresponding to the collaborative canvas viewer based on the viewing parameter information, the canvas view area information, the attribute information of the multiple canvas elements, and the display position information of each canvas element. The sending unit is used to send the canvas view to the collaborative canvas viewer for display.
13. A storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the view processing method for the collaborative drawing board according to any one of claims 1 to 11.
14. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the view processing method for the collaborative drawing board according to any one of claims 1 to 11.
15. A computer program product comprising a computer program that is read and executed by a processor of a computer device, causing the computer device to perform the view processing method for a collaborative drawing board according to any one of claims 1 to 11.