Game data processing method and device, equipment, storage medium and product

The preset area of ​​the target game object influenced by identifying the game control instructions is used as an interested area in the game screen, and high -quality codes are used to solve the problems of inaccurate fixed areas in the existing technologies. Essence

CN119367758APending Publication Date: 2025-01-28MIGU INTERACTIVE ENTERTAINMENT CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411503058.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-01-28

Smart Images

  • Figure CN119367758A_ABST
    Figure CN119367758A_ABST
Patent Text Reader

Abstract

The invention discloses a game data processing method and device, equipment, a storage medium and a product, and the method comprises the steps that target game objects influenced by a game control instruction are obtained, and the target game objects comprise game objects directly influenced by the game control instruction and game objects indirectly influenced by the game control instruction; identifying a preset region of the target game object in a game picture, and determining the preset region as a region of interest; and coding the region of interest by adopting a first coding mode to obtain a first coding result. By adopting the embodiment of the invention, the region in which the user is really interested can be quickly and accurately identified, the practicability is improved, the method is simple, and the cloud game time delay is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud gaming technology, and in particular to a game data processing method, device, equipment, storage medium and product. Background Art

[0002] Cloud gaming is an online gaming service that allows users to connect to a remote server via the Internet to process and render games in the cloud, and then transmit the processed audio and video streams back to the client.

[0003] At present, in order to ensure the image quality of cloud games and the reasonable use of network bandwidth, the region of interest (ROI) in the game screen is determined, and high-quality encoding is used for the region of interest, and low-quality encoding is used for the remaining areas. Regarding the determination of ROI: Currently, a fixed area in the game screen (such as the middle area of ​​the game screen) is directly determined as the ROI. Although this method is simple, the fixed area is not necessarily the area that the user is actually interested in, and it is not very practical. Summary of the invention

[0004] The present application provides a game data processing method, device, equipment, storage medium and product to solve the problem that in the prior art, a fixed area in the game screen is directly used as a ROI, but the fixed area is not necessarily the area that the user is actually interested in, and the practicality is not high.

[0005] To achieve the above purpose, the present application provides a game data processing method, including:

[0006] Obtaining a target game object affected by a game control instruction, wherein the target game object includes a game object directly affected by the game control instruction and a game object indirectly affected by the game control instruction;

[0007] Identify a preset area of ​​the target game object in the game screen, and determine the preset area as an area of ​​interest;

[0008] The region of interest is encoded using a first encoding method to obtain a first encoding result.

[0009] As an improvement of the above solution, the step of obtaining the target game object affected by the game control instruction includes:

[0010] Responding to and executing the game control instruction, recording the game objects whose states are changed after the game control instruction is executed into the target game object list;

[0011] According to the target game object list, the target game object affected by the game control instruction is obtained.

[0012] As an improvement of the above solution, the responding and executing the game control instruction, recording the game objects whose states are changed after the execution of the game control instruction into the target game object list, includes:

[0013] In response to the game control instruction, triggering a game event;

[0014] Determine whether each game object needs to change its state according to the currently triggered game event;

[0015] For the target game object that needs to change itself, the target game object is recorded in the target game object list, and it is determined that the target game object triggers a new game event due to its own state change, and the step of determining whether each game object needs to change its own state according to the currently triggered game event is returned.

[0016] As an improvement of the above solution, the responding and executing the game control instruction, recording the game objects whose states are changed after the execution of the game control instruction into the target game object list, includes:

[0017] In response to the game control instruction, calling the game object interface;

[0018] Determine whether each game object needs to change its own state according to the currently called game object interface;

[0019] For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game object interface newly called by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently called game object interface is returned.

[0020] As an improvement of the above solution, the method further includes: when a preset condition is met, deleting the target game object recorded earliest in the target game object list from the target game object list;

[0021] The preset condition includes at least one of the following:

[0022] The number of game control instructions corresponding to the target game objects recorded in the target game object list reaches a first threshold;

[0023] The number of target game objects recorded in the target game object list reaches a second threshold;

[0024] The recording time corresponding to the earliest recorded target game object in the target game object list is greater than the third threshold from the current time.

[0025] As an improvement of the above solution, the step of identifying a preset area of ​​the target game object in the game screen and determining the preset area as an area of ​​interest includes:

[0026] Based on the configuration parameters of the preset virtual camera, the game screen of the current frame is rendered to obtain a rendered image;

[0027] Generate a mask image according to an unobstructed area of ​​the target game object in the rendered image;

[0028] The mask image is used to identify the unobstructed area of ​​the target game object in the game screen and determine it as an area of ​​interest.

[0029] As an improvement of the above solution, after identifying a preset area of ​​the target game object in the game screen and determining the preset area as an area of ​​interest, the game data processing method further includes:

[0030] Using a second encoding method to encode the remaining areas in the game screen to obtain a second encoding result, wherein the quality of the first encoding result is better than the quality of the second encoding result;

[0031] Transmitting the first encoding result to the client through a first quality channel;

[0032] The second encoding result is transmitted to the client through a second quality channel; wherein the quality of the first quality channel is better than that of the second quality channel.

[0033] To achieve the above-mentioned purpose, the embodiment of the present application further provides a game data processing device, including:

[0034] A target game object acquisition module, used to acquire a target game object affected by a game control instruction, wherein the target game object includes a game object directly affected by the game control instruction and a game object indirectly affected by the game control instruction;

[0035] An area of ​​interest identification module, used to identify a preset area of ​​the target game object in the game screen, and determine the preset area as an area of ​​interest;

[0036] The high-quality encoding module is used to encode the region of interest using a first encoding method to obtain a first encoding result.

[0037] To achieve the above-mentioned purpose, an embodiment of the present application also provides a game data processing device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, and the processor implements the game data processing method as described above when executing the computer program.

[0038] To achieve the above-mentioned purpose, an embodiment of the present application also provides a computer-readable storage medium, which includes a stored computer program; wherein, when the computer program is running, it controls the device where the computer-readable storage medium is located to execute the data processing method of the game as described above.

[0039] To achieve the above objectives, an embodiment of the present application further provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the data processing method of the game as described above.

[0040] Compared with the prior art, the data processing method, device, equipment, storage medium and product of a game provided by the embodiment of the present application, by obtaining the target game object affected by the game control instruction, the target game object includes the game object directly affected by the game control instruction and the game object indirectly affected by the game control instruction; identifying the preset area of ​​the target game object in the game screen, and determining the preset area as the area of ​​interest; encoding the area of ​​interest using a first encoding method to obtain a first encoding result. It can be seen that the embodiment of the present application uses the preset area where the target game object affected by the game control instruction is located as the area of ​​interest, so that the area of ​​interest focuses on the target game object affected by the game control instruction, and can quickly and accurately identify the area of ​​real interest to the user, and the practicality is improved. Moreover, the first encoding method (such as a high-quality encoding method) is used for encoding the area of ​​interest, which can significantly improve the user's visual experience and game immersion, and improve user stickiness. In addition, compared with the method of directly determining the area of ​​interest in the game screen using a neural network, the embodiment of the present application is not only simple in method, but also reduces the cloud game delay. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 is a flow chart of a game data processing method provided by an embodiment of the present application;

[0042] Figure 2 is a structural block diagram of a data processing device for a game provided in an embodiment of the present application;

[0043] Figure 3 It is a structural block diagram of a data processing device for a game provided in an embodiment of the present application. DETAILED DESCRIPTION

[0044] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0045] See also Figure 1 , Figure 1 : is a flowchart of a game data processing method provided in an embodiment of the present application, the game data processing method comprising:

[0046] S1. Obtain target game objects affected by game control instructions, wherein the target game objects include game objects directly affected by the game control instructions and game objects indirectly affected by the game control instructions;

[0047] S2, identifying a preset area of ​​the target game object in the game screen, and determining the preset area as an area of ​​interest;

[0048] S3. Encode the region of interest using a first encoding method to obtain a first encoding result.

[0049] It is understandable that during the running of the game, many different types of game objects jointly construct the game screen. Common types of game objects are: user characters (characters directly controlled by users), non-user characters (for example, NPCs: characters controlled by game artificial intelligence that can interact with users or add atmosphere to the game screen), environmental objects (including terrain, buildings and natural elements such as trees, rivers, etc., which provide background and exploration space for the game screen), props and items (items that users can pick up or use in the game, such as weapons, armor, consumables, etc.), enemies (opponents encountered by users in the game, which can be computer-controlled or played by other users), objects in particle systems (such as particles that may be used in rain, snow, explosions and magic effects), vehicles (vehicles that users can use in the game, such as vehicles, aircraft, ships, etc.), animals and creatures (in some games, animals and creatures are also part of the game screen, which can be friendly, hostile or neutral). These game objects are managed and rendered through various systems and components in the game engine, making the game screen vivid.

[0050] During the game, the game application receives the user's input operation information through various peripherals, and then converts the input operation information into corresponding game control instructions (such as actions or commands in the game), so that the game objects perform related actions or commands. Among them, peripherals include keyboards, mice, game controllers, touch screens, motion capture and virtual reality (VR) equipment, voice control, etc.

[0051] In step S1, the target game objects affected by the game control instruction include: game objects directly affected by the game control instruction and game objects indirectly affected by the game control instruction.

[0052] Game objects directly affected by game control instructions:

[0053] (1) For games with user characters, game control instructions can directly control the user characters, such as when a key is pressed, the user character starts jumping;

[0054] (2) For games without user characters, such as simulation games, strategy games, tower defense games, card games, puzzle games, etc., in these types of games, one or more game objects directly associated with the user's input operation information are first determined. If the user executes game control instructions in a blank area where no game objects exist, or on a non-interactive game object, the input operation information may be ignored.

[0055] The user character in (1) and the directly associated game object in (2) are the objects that directly receive the user's input operation information and respond to it, and are called the "first object", that is, the game object directly affected by the game control instructions.

[0056] Game objects indirectly affected by game control commands:

[0057] The change of the state of the first object will drive or trigger the change of the state of the second object. For example, when the user controls a gun to shoot, the gun is the first object. When the gun enters the shooting state, it triggers the firing of the bullet. Here, the bullet is the second object. After the bullet, which is the second object, is fired and touches the enemy, the enemy will bleed and fall down. Here, the enemy is the third object, and the bleeding is the fourth object, and so on. These second objects, third objects, fourth objects, etc. are game objects indirectly affected by game control instructions.

[0058] These target game objects are the focus of user attention and interest, so the preset area of ​​the target game object in the game screen is determined as the area of ​​interest. The area of ​​interest is the area where the game character controlled by the user or the key game event is located, which is also the area that the user is really interested in. The embodiment of the present application can quickly and accurately identify the area that the user is really interested in, and the practicality is improved.

[0059] In addition, the region of interest is encoded using a first encoding method (such as a high-quality encoding method) to provide a high-quality encoding result for the region of interest, which can significantly improve the user's visual experience and game immersion. By ensuring the image quality of these areas, the user can obtain a smoother and clearer visual experience, thereby enhancing user satisfaction and the attractiveness of the game and improving user stickiness.

[0060] The embodiment of the present application focuses on the target game objects affected by the game control instructions, can quickly and accurately identify the areas that the user is really interested in, and enable the areas that the user is really interested in to be displayed with high quality, thereby improving practicality. Moreover, compared with the method of using a neural network to directly determine the area of ​​interest in the game screen, the embodiment of the present application is not only simple in method, but also reduces the cloud game latency.

[0061] In addition, the embodiments of the present application are not limited to existing game elements and game screens, but can also be applied to various dynamically changing game environments and future game development. For example, the definition and encoding strategy of the region of interest can be flexibly adjusted according to the needs of different games.

[0062] In an optional embodiment, obtaining the target game object affected by the game control instruction includes:

[0063] Responding to and executing the game control instruction, recording the game objects whose states are changed after the game control instruction is executed into the target game object list;

[0064] According to the target game object list, the target game object affected by the game control instruction is obtained.

[0065] In the embodiment of the present application, in response to a game control instruction, the game control instruction is executed, and the game object whose state is changed after the game control instruction is executed is recorded in the target game object list; according to the target game object list, the target game object affected by the game control instruction is obtained. In other words, the game object recorded in the target game object list is the target game object affected by the game control instruction, and the target game object can be screened from the target game object list.

[0066] For example, after executing game control instruction a, as time goes by, the target game objects directly or indirectly affected by game control instruction a are recorded step by step, which are A1, A2, A3, A4, A5 to An in sequence; after executing game control instruction b, as time goes by, the target game objects directly or indirectly affected by game control instruction b are recorded step by step, which are B1, B2, B3, B4, B5 to Bn in sequence; after executing game control instruction c, as time goes by, the target game objects directly or indirectly affected by game control instruction c are recorded step by step, which are C1, C2, C3, C4, C5 to Cn in sequence. If game control instruction a and game control instruction b both affect the same game object, they generate two independent records.

[0067] In an optional embodiment, responding to and executing the game control instruction, recording the game object whose state is changed after executing the game control instruction into the target game object list, includes:

[0068] In response to the game control instruction, triggering a game event;

[0069] Determine whether each game object needs to change its state according to the currently triggered game event;

[0070] For the target game object that needs to change itself, the target game object is recorded in the target game object list, and it is determined that the target game object triggers a new game event due to its own state change, and the step of determining whether each game object needs to change its own state according to the currently triggered game event is returned.

[0071] The embodiment of the present application provides an object-oriented method, where game control instructions trigger game events; object-oriented can be understood as: each game object (such as each virtual character, virtual animal, virtual building, etc. in the game) is designed to have a method that encapsulates its attributes and behaviors, and each game object implements operations on internal states and responses to external events through its methods. At the same time, game events are registered for each game object, and each game object has information about game events.

[0072] After a game event is triggered in response to a game control instruction, the game event can be sent to each game object in the current game screen, so that each game object in the current game screen determines whether it needs to change its own state according to the currently triggered game event. Specifically, if the game event is registered with the game object and the game object is within the influence range of the game event, it is confirmed that the game object needs to change its own state (for example, if the currently triggered game event is a shooting event, a game object has registered the shooting event and is also within the sweep range of the shooting event, the game object needs to change its own state).

[0073] After the game event is triggered in response to the game control instruction, the game event may be sent only to the game objects registered with the currently triggered game event, so that each of these game objects determines whether to change its own state according to the currently triggered game event. Specifically, if the game object itself falls within the influence range of the game event, it is determined that it needs to change its own state.

[0074] After confirming whether the game object has changed its own state, for the target game object that needs to change itself, the target game object is recorded in the target game object list, and it is determined that the target game object triggers a new game event due to the change of its own state, and the step of determining whether each game object needs to change its own state according to the currently triggered game event is returned. In other words, after the target game object changes its own state, a new game event may be triggered. If a new game event is triggered, it is continued to determine whether each game object needs to change its own state according to the currently triggered game event, and the target game object is recorded in the target game object list.

[0075] Exemplarily, the source information (i.e., the game control instruction) can be recorded in the game event so that the game event carries the source information; in the process of triggering the game event, the triggered game event is sent to each game object in the current game screen or the game object that has registered the same game event. If the state of a certain game object changes, the source information carried by the game event is read so that the game object records the source information, and in the next triggering process, the source information is sent to the newly triggered game event so that the newly triggered game event records and updates the carried source information. In this way, the game objects carrying the same source information are recorded in the target game object list affected by the corresponding game control instruction, and the game objects in the target game object list are the game objects affected by the same game control instruction.

[0076] Exemplarily, (1) modify the original game event or design a new game event so that it carries the source information of the event, i.e., the game control instruction. This game event can be a class or a structure.

[0077] (2) Receive input operation information, generate corresponding game control instructions, respond to the game control instructions, trigger a game event, and then the game engine sends the game event to each game object in the current game screen or the game object that has registered the same game event. Determine whether the game object needs to change its state according to this game event. If it needs to change, read its source information from this game event and record this source information with internal variables (if there is already source information, overwrite the original source information), and then add the game object to the list of target game objects affected by this game control instruction according to the source information recorded in the internal variables.

[0078] For example, in response to the game control instruction "strike", the currently triggered game event is the "strike" game event; the current game screen includes animals, flowers, trees, NPCs and enemies, among which flowers, trees have not registered the "strike" game event, and animals, NPCs and enemies have registered the "strike" game event, so the "strike" game event is sent to the animals, flowers, trees, NPCs and enemies, or the "strike" game event is sent to the animals, NPCs and enemies; determine whether the animals, flowers, trees, NPCs and enemies need to change their own states according to the "strike" game event; for example, if the animal is within the strike range of the "strike" game event, it is determined that the animal needs to change its own state; if the flowers, trees, NPCs and enemies are not within the strike range of the "strike" game event, it is determined that the flowers, trees, NPCs and enemies do not need to change their own states.

[0079] When it is determined that the animal needs to change its state, the source information "Sweep" is read from the "Sweep" game event, the source information "Sweep" is recorded with an internal variable, and the animal is recorded in the list of target game objects affected by the game control instruction "Sweep".

[0080] (3) For the target game object that needs to change itself, when the target game object triggers a new game event, the game engine sends the new game event to each game object in the current game screen or the game object that registers the same game event. Determine whether the game object needs to change its state according to the currently triggered game event. If it needs to be changed, read its source information from the currently triggered game event, and record this source information with an internal variable (if there is already source information, overwrite the original source information), and add the game object to the list of target game objects affected by this game control instruction according to the source information recorded in the internal variable.

[0081] For example, if the "animal" game object is hit by a gun, the game object will trigger a "fall down" game event in response to being hit according to the method logic encapsulated in itself.

[0082] The current game screen also includes flowers, trees, pools, NPCs and enemies; among them, flowers, plants and pools have registered the "fall" game event, so it is determined whether the flowers, plants and pools need to change their own states according to the "fall" game event; for example, if the flowers and plants are below the animals, then the animals will crush the flowers and plants after falling, and it is determined that the flowers and plants need to change their own states; if the pool is not below the animals, then the animals will not crush the pool after falling, and it is determined that the pool does not need to change its own state.

[0083] When it is determined that the flowers and plants need to change their status, the source information "sweep" is read from the "fall down" game event, the source information "sweep" is recorded with an internal variable, and the flowers and plants are recorded in the list of target game objects affected by the game control instruction "sweep".

[0084] In an optional embodiment, responding to and executing the game control instruction, recording the game object whose state is changed after executing the game control instruction into the target game object list, includes:

[0085] In response to the game control instruction, calling the game object interface;

[0086] Determine whether each game object needs to change its own state according to the currently called game object interface;

[0087] For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game object interface newly called by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently called game object interface is returned.

[0088] The embodiment of the present application provides an interface-oriented method, in which a game control instruction calls a game object interface. After calling the game object interface in response to the game control instruction, it is determined whether each game object needs to change its own state according to the currently called game object interface. For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game object interface newly called by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently called game object interface is returned. In other words, after changing its own state, the target game object may call a new game object interface. If the new game object interface is called, it continues to determine whether each game object needs to change its own state according to the currently called game object interface, and records the target game object in the target game object list.

[0089] Exemplarily, (1) in response to a game control instruction, the game object interface is called to determine whether the game object of the called game object interface, i.e., the first object, needs to change its own state; if so, the game object uses an internal variable to record the source information (i.e., the game control instruction) and adds the first object to the list of target game objects affected by the source information.

[0090] (2) For the target game object that needs to change itself, when the target game object continues to call the new game object interface, the source information recorded by the game object of the target game object is passed to the game object of the newly called game object interface through this interface call. The game object of the newly called game object interface also uses internal variables to record the source information (if there is already source information, the original data is overwritten) to determine whether it needs to change its own state. If it needs to be changed, the game object uses internal variables to record the source information (i.e., game control instructions) and adds the game object to the list of target game objects affected by the source information.

[0091] Optionally, the method further comprises: when a preset condition is met, deleting the target game object that is earliest recorded in the target game object list from the target game object list;

[0092] The preconditions include at least one of the following:

[0093] The number of game control instructions corresponding to the target game objects recorded in the target game object list reaches a first threshold;

[0094] The number of target game objects recorded in the target game object list reaches a second threshold;

[0095] The recording time corresponding to the earliest recorded target game object in the target game object list is greater than the third threshold from the current time.

[0096] It is understandable that the embodiment of the present application continuously records the target game object in the target game object list, and when it is detected that the preset condition is met, the earliest recorded target game object is deleted from the list in the order in which the target game objects are recorded in the target game object list. The preset condition includes at least one of the following:

[0097] The number of game control instructions corresponding to the target game objects recorded in the target game object list reaches a first threshold. For example, the target game objects affected by the most recent m game control instructions are recorded; when the m+1th game control instruction starts, the target game object generated by the first game control instruction is deleted from the target game object list;

[0098] The number of target game objects recorded in the target game object list reaches a second threshold. For example, the target game objects generated by the most recent x times are recorded; when the x+1th target game object is generated, the first target game object is deleted from the target game object list;

[0099] The earliest recorded target game object in the target game object list has a record time corresponding to a current time greater than a third threshold value. For example, the target game object generated in the last n seconds is recorded, and the target game object generated n seconds ago is deleted from the target game object list.

[0100] In the embodiment of the present application, how many target game objects need to be recorded in the target game object list can be determined by testing or experience. When testing, the first threshold value and / or the second threshold value and / or the third threshold value can be continuously adjusted to observe whether the generated first encoding result and / or the second encoding result meet expectations for determination.

[0101] In step S2, the preset area of ​​the target game object in the game screen can be identified in a variety of ways, and the preset area can be determined as the area of ​​interest. Specifically, the preset area where the target game object is located can be directly determined as the area of ​​interest. For example, the 2cm*2cm area where the target game object is located is determined as the area of ​​interest. The preset area of ​​the target game object in the game screen can also be identified by a neural network and determined as the area of ​​interest. The preset area of ​​the target game object can also be identified by masking technology and determined as the area of ​​interest, which is not specifically limited in the embodiments of the present application.

[0102] In an optional embodiment, the step S2 of identifying a preset area of ​​the target game object in the game screen and determining the preset area as an area of ​​interest includes:

[0103] Based on the configuration parameters of the preset virtual camera, the game screen of the current frame is rendered to obtain a rendered image;

[0104] Generate a mask image according to an unobstructed area of ​​the target game object in the rendered image;

[0105] The mask image is used to identify the unobstructed area of ​​the target game object in the game screen and determine it as an area of ​​interest.

[0106] In an embodiment of the present application, an unobstructed area of ​​a game object in a game screen is selected as a preset area and is determined as an area of ​​interest. All game objects such as characters, props, terrain, and buildings in the game screen can be loaded first. Then, according to the configuration parameters of the preset virtual camera, the game screen of the current frame is rendered to obtain a rendered image. This process includes at least one of lighting calculation, material rendering, shadow generation, and special effects processing to generate a rendered image; the game screen is observed by the configuration parameters of the preset virtual camera, which determines the perspective of the observer in the game screen of the current frame. The configuration parameters of the preset virtual camera include at least one parameter of position, orientation, and perspective. Then, a mask image is generated based on the unobstructed area of ​​the game object in the game screen. Finally, the mask image is used to identify the unobstructed area of ​​the target game object in the game screen and determine it as an area of ​​interest.

[0107] Exemplarily, mark the game object. Based on the preset virtual camera configuration parameters, render the current frame of the game screen to generate a rendered image. Create an initial mask image of the same size as the rendered image, with the initial value set to 0 (or other appropriate value). For each marked game object, perform the following operations:

[0108] The occluded area and the unoccluded area of ​​the game object are confirmed, specifically, according to the depth information of the game object or by using a ray casting method.

[0109] For the unobstructed area, the value of the pixel related to the unobstructed area in the initial mask image is updated to 1 (or other appropriate value), indicating that the area is the region of interest, and the area is used as a mask. The mask image is obtained after updating.

[0110] Among them, multiple game objects of different levels in the current frame of the game screen are converted into a rendering image and a mask image. If there are multiple preset virtual cameras or multiple perspectives in the game screen, the masks generated by them are merged into the same mask image. The masks generated by them can be simply superimposed together, or more complex processing can be performed as needed, such as using logical operations (such as AND, OR, and NOT operations) to merge the masks.

[0111] The embodiment of the present application generates a rendering image and a mask image synchronously, determines the region of interest during the rendering process, stores the rendering image in a buffer, and the buffer contains all pixel information of the game screen of the current frame; stores the mask image in another buffer, and saves the association record between the rendering image and the mask image. In this way, during the encoding process, the mask image corresponding to the current frame rendering image is read, and the region of interest and the remaining regions in the current frame game screen are distinguished by the mask image. Specifically, the application of the mask image to the generated rendering image can be achieved through a pixel-level multiplication operation, that is, each pixel of the rendering image is multiplied by the pixel of the mask image, so that the rendering image is divided into the region of interest and the remaining regions according to the value of the mask.

[0112] The embodiment of the present application fully utilizes the capabilities of the native cloud gaming platform to determine the region of interest during the rendering process, rather than identifying the region of interest for the final video. The region of interest provided by the embodiment of the present application has clear edges and high accuracy, which is in line with expectations, and the execution efficiency is much higher than the method using a neural network.

[0113] In an optional embodiment, after identifying a preset area of ​​the target game object in the game screen and determining the preset area as an area of ​​interest, the game data processing method further includes:

[0114] Using a second encoding method to encode the remaining areas in the game screen to obtain a second encoding result, wherein the quality of the first encoding result is better than the quality of the second encoding result;

[0115] Transmitting the first encoding result to the client through a first quality channel;

[0116] The second encoding result is transmitted to the client through a second quality channel; wherein the quality of the first quality channel is better than that of the second quality channel.

[0117] In an embodiment of the present application, different encoding methods are used to encode the area of ​​interest and the remaining areas in the game screen to generate two independent video streams; specifically, the area of ​​interest is encoded using a first encoding method to obtain a first encoding result, and the remaining areas are encoded using a second encoding method to obtain a second encoding result.

[0118] Compared with the second encoding method, the first encoding method is a higher quality encoding method, and the encoding parameters of the first encoding method are better than the encoding parameters of the second encoding method. For example, the first encoding method uses a smaller QP parameter (Quantization Parameter), a smaller CRF (Constant Rate Factor) parameter or a larger bit rate for encoding, so that the quality of the first encoding result is better than the quality of the second encoding result, thereby ensuring the picture quality of the area of ​​interest.

[0119] The embodiment of the present application can significantly reduce the overall data transmission amount and effectively reduce the overall data transmission requirements by performing different quality encoding processing on the area of ​​interest and the remaining areas in the game video frame. High-quality encoding of the area of ​​interest can ensure the quality of key pictures and user experience; low-quality encoding of the remaining areas can significantly reduce the size of the data stream, thereby reducing bandwidth usage and related transmission costs, and optimizing the use of network resources without sacrificing user experience.

[0120] The first encoding result is transmitted to the client through a first quality channel (such as a 5G channel), and the second encoding result is transmitted to the client through a second quality channel (such as wifi); the first quality channel is superior to the second quality channel. The embodiment of the present application supports flexible deployment of encoding results through different transmission channels, providing strong adaptability and expansion potential for future cloud games and other real-time video streaming applications.

[0121] The client receives the first encoding result and the second encoding result, merges them, and plays them. Here, the first encoding result and the second encoding result can be synchronized in time sequence, or they can be synchronized in time sequence. For example, the first encoding result is played first to ensure the real-time and continuity of the interesting part of the video.

[0122] In the embodiment of the present application, in a multi-channel transmission environment, the encoding results of the area of ​​interest are transmitted through a high-quality channel to ensure image quality, and the encoding results of the remaining areas can be transmitted through a low-quality channel. Such allocation significantly improves the efficiency of data transmission and the rational use of network bandwidth. The embodiment of the present application not only optimizes the visual effect, but also improves the overall immersion and satisfaction of users and increases user stickiness.

[0123] See also Figure 2 , Figure 2 : is a structural block diagram of a game data processing device 10 provided in an embodiment of the present application, wherein the game data processing device 10 comprises:

[0124] A target game object acquisition module 11 is used to acquire a target game object affected by a game control instruction, wherein the target game object includes a game object directly affected by the game control instruction and a game object indirectly affected by the game control instruction;

[0125] An area of ​​interest identification module 12 is used to identify a preset area of ​​the target game object in the game screen and determine the preset area as an area of ​​interest;

[0126] The high-quality encoding module 13 is used to encode the region of interest using a first encoding method to obtain a first encoding result.

[0127] Optionally, the target game object acquisition module 11 is further used for:

[0128] Responding to and executing the game control instruction, recording the game objects whose states are changed after the game control instruction is executed into the target game object list;

[0129] According to the target game object list, the target game object affected by the game control instruction is obtained.

[0130] Optionally, the target game object acquisition module 11 is further used for:

[0131] In response to the game control instruction, triggering a game event;

[0132] Determine whether each game object needs to change its state according to the currently triggered game event;

[0133] For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game event newly triggered by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently triggered game event is returned.

[0134] Optionally, the target game object acquisition module 11 is further used for:

[0135] In response to the game control instruction, calling the game object interface;

[0136] Determine whether each game object needs to change its own state according to the currently called game object interface;

[0137] For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game object interface newly called by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently called game object interface is returned.

[0138] Optionally, the target game object acquisition module 11 is further used to: when a preset condition is met, delete the target game object that is earliest recorded in the target game object list from the target game object list;

[0139] The preset condition includes at least one of the following:

[0140] The number of game control instructions corresponding to the target game objects recorded in the target game object list reaches a first threshold;

[0141] The number of target game objects recorded in the target game object list reaches a second threshold;

[0142] The recording time corresponding to the earliest recorded target game object in the target game object list is greater than the third threshold from the current time.

[0143] Optionally, the region of interest identification module 12 is further used for:

[0144] Based on the configuration parameters of the preset virtual camera, the game screen of the current frame is rendered to obtain a rendered image;

[0145] Generate a mask image according to an unobstructed area of ​​the target game object in the rendered image;

[0146] The mask image is used to identify the unobstructed area of ​​the target game object in the game screen and determine it as an area of ​​interest.

[0147] Optionally, the game data processing device 10 further includes:

[0148] A low-quality encoding module, used for encoding the remaining areas in the game screen by adopting a second encoding method to obtain a second encoding result, wherein the quality of the first encoding result is better than the quality of the second encoding result;

[0149] A first transmission module, used for transmitting the first encoding result to a client through a first quality channel;

[0150] The second transmission module is used to transmit the second encoding result to the client through a second quality channel; wherein the quality of the first quality channel is better than that of the second quality channel.

[0151] It is worth noting that the working process of each module in the game data processing device 10 described in the embodiment of the present application can refer to the working process of the game data processing method described in the above embodiment, and will not be repeated here.

[0152] A data processing device 10 for a game provided in an embodiment of the present application, by obtaining a target game object affected by a game control instruction, the target game object includes a game object directly affected by the game control instruction and a game object indirectly affected by the game control instruction; identifying a preset area of ​​the target game object in the game screen, and determining the preset area as an area of ​​interest; encoding the area of ​​interest using a first encoding method to obtain a first encoding result. It can be seen that the embodiment of the present application uses the preset area where the target game object affected by the game control instruction is located as an area of ​​interest, so that the area of ​​interest focuses on the target game object affected by the game control instruction, and can quickly and accurately identify the area that the user is really interested in, and the practicality is improved. Moreover, the first encoding method (such as a high-quality encoding method) is used for encoding the area of ​​interest, which can significantly improve the user's visual experience and game immersion, and improve user stickiness. In addition, compared with the method of directly determining the area of ​​interest in the game screen using a neural network, the embodiment of the present application is not only simple in method, but also reduces the cloud game delay.

[0153] In addition, an embodiment of the present application further provides a computer-readable storage medium, which includes a stored computer program; wherein, when the computer program is running, it controls the device where the computer-readable storage medium is located to execute the data processing method of the game as described in any of the above embodiments.

[0154] In addition, an embodiment of the present application further provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the data processing method for the game as described in any of the above embodiments.

[0155] See also Figure 3 , Figure 3 : is a structural block diagram of a data processing device 20 for a game provided in an embodiment of the present application, and the data processing device 20 for the game includes: a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, the steps in the above-mentioned data processing method embodiment of the game are implemented. Alternatively, when the processor 21 executes the computer program, the functions of each module / unit in the above-mentioned device embodiments are implemented.

[0156] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program in the data processing device 20 of the game.

[0157] The data processing device 20 of the game may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will appreciate that the schematic diagram is merely an example of the data processing device 20 of the game, and does not constitute a limitation on the data processing device 20 of the game, and may include more or fewer components than shown in the diagram, or a combination of certain components, or different components, for example, the data processing device 20 of the game may also include input and output devices, network access devices, buses, etc.

[0158] The processor 21 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor 21 is the control center of the data processing device 20 of the game, and uses various interfaces and lines to connect various parts of the data processing device 20 of the entire game.

[0159] The memory 22 can be used to store the computer program and / or module. The processor 21 realizes various functions of the data processing device 20 of the game by running or executing the computer program and / or module stored in the memory 22 and calling the data stored in the memory 22. The memory 22 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory 22 can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0160] Wherein, if the module / unit integrated in the data processing device 20 of the game is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor 21. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium, etc.

[0161] It should be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0162] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications are also considered to be within the scope of protection of the present application.

Claims

1. A game data processing method, characterized in that: include: Obtaining a target game object affected by a game control instruction, wherein the target game object includes a game object directly affected by the game control instruction and a game object indirectly affected by the game control instruction; Identify a preset area of ​​the target game object in the game screen, and determine the preset area as an area of ​​interest; The region of interest is encoded using a first encoding method to obtain a first encoding result.

2. The game data processing method according to claim 1, characterized in that: The step of obtaining the target game object affected by the game control instruction includes: Responding to and executing the game control instruction, recording the game objects whose states are changed after the game control instruction is executed into the target game object list; According to the target game object list, the target game object affected by the game control instruction is obtained.

3. The game data processing method according to claim 2, characterized in that: The responding and executing the game control instruction, recording the game object whose state is changed after executing the game control instruction into the target game object list, includes: In response to the game control instruction, triggering a game event; Determine whether each game object needs to change its state according to the currently triggered game event; For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game event newly triggered by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently triggered game event is returned.

4. The game data processing method according to claim 2, characterized in that: The responding and executing the game control instruction, recording the game object whose state is changed after executing the game control instruction into the target game object list, includes: In response to the game control instruction, calling the game object interface; Determine whether each game object needs to change its own state according to the currently called game object interface; For the target game object that needs to change itself, the target game object is recorded in the target game object list, and the game object interface newly called by the target game object due to its own state change is determined, and the step of determining whether each game object needs to change its own state according to the currently called game object interface is returned.

5. The game data processing method according to claim 3 or 4, characterized in that: The method further comprises: when a preset condition is met, deleting the target game object recorded earliest in the target game object list from the target game object list; The preset condition includes at least one of the following: The number of game control instructions corresponding to the target game objects recorded in the target game object list reaches a first threshold; The number of target game objects recorded in the target game object list reaches a second threshold; The recording time corresponding to the earliest recorded target game object in the target game object list is greater than the third threshold from the current time.

6. The game data processing method according to claim 1, characterized in that: The step of identifying a preset area of ​​the target game object in the game screen and determining the preset area as an area of ​​interest includes: Based on the configuration parameters of the preset virtual camera, the game screen of the current frame is rendered to obtain a rendered image; Generate a mask image according to an unobstructed area of ​​the target game object in the rendered image; The mask image is used to identify the unobstructed area of ​​the target game object in the game screen and determine it as an area of ​​interest.

7. The game data processing method according to claim 1, characterized in that: After identifying the preset area of ​​the target game object in the game screen and determining the preset area as the area of ​​interest, the game data processing method further includes: Using a second encoding method to encode the remaining areas in the game screen to obtain a second encoding result, wherein the quality of the first encoding result is better than the quality of the second encoding result; Transmitting the first encoding result to the client through a first quality channel; The second encoding result is transmitted to the client through a second quality channel; wherein the quality of the first quality channel is better than that of the second quality channel.

8. A data processing device for a game, characterized in that: include: A target game object acquisition module, used to acquire a target game object affected by a game control instruction, wherein the target game object includes a game object directly affected by the game control instruction and a game object indirectly affected by the game control instruction; An area of ​​interest identification module, used to identify a preset area of ​​the target game object in the game screen, and determine the preset area as an area of ​​interest; The high-quality encoding module is used to encode the region of interest using a first encoding method to obtain a first encoding result.

9. A data processing device for a game, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor implements the game data processing method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored computer program; wherein, when the computer program is run, it controls the device where the computer-readable storage medium is located to execute the game data processing method according to any one of claims 1 to 7.

11. A computer program product, characterized in that It comprises a computer program / instruction, which, when executed by a processor, implements the data processing method of the game as claimed in any one of claims 1 to 7.