Screen display method, device, electronic device, storage medium and program product

CN123011375APending Publication Date: 2026-10-30BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510551653.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

但是,药物通常会引发嗜睡等副作用,因此,如何减少感知冲突,缓解晕动症,是一个需要解决的技术问题

Benefits of technology

[0148]本申请实施例中的屏幕显示的方法,包括确定检测到防晕车事件时,通过目标设备的屏幕显示目标图形元素;根据目标设备的重力加速度和线性加速度,对线性加速度进行分解,获得运动加速度分量;根据运动加速度分量,确定目标图形元素在屏幕中的移动速度;移动速度的速度值与运动加速度分量的速度值呈正相关,移动速度的方向与运动加速度分量的方向相反;按照移动速度,控制目标图形元素在屏幕中移动。这样,可以根据目标设备的加速度数据,控制屏幕中的目标图形元素,以与运动加速度分量的方向相反的方向移动,减少了感知冲突,进而缓解了晕动症。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123011375A_ABST
    Figure CN123011375A_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of data processing, and specifically provides a screen display method and device, electronic equipment, storage medium and program product. The method comprises: when it is determined that an anti-motion sickness event is detected, displaying a target graphical element on a screen of a target device; decomposing linear acceleration according to gravity acceleration and linear acceleration of the target device to obtain a motion acceleration component; determining a moving speed of the target graphical element in the screen according to the motion acceleration component; a speed value of the moving speed is positively correlated with a speed value of the motion acceleration component, and a direction of the moving speed is opposite to a direction of the motion acceleration component; and controlling the target graphical element to move in the screen according to the moving speed. In this way, the target graphical element in the screen can be controlled according to acceleration data of the target device to move in a direction opposite to the direction of the motion acceleration component, thereby reducing perceptual conflict and relieving motion sickness.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, specifically to a screen display method, apparatus, electronic device, storage medium, and program product. Background Technology

[0002] Motion sickness (such as car sickness, seasickness, and airsickness) is a physiological discomfort caused by a conflict in the body's sensory systems. For example, when a vehicle is moving, the vestibular system detects changes in acceleration and angular velocity through the balance receptors in the inner ear. If the visual system fails to perceive the same motion synchronously (such as a passenger staring at a stationary mobile phone screen inside a vehicle), it will send conflicting signals to the brain, thereby triggering motion sickness symptoms such as nausea and dizziness.

[0003] With the proliferation of smart mobile devices (such as mobile phones and in-vehicle displays), passengers often spend long periods of time looking at static or dynamic visual content (such as text, videos, or games) while traveling. This can exacerbate visual and vestibular sensory conflict, leading to an increase in the incidence of motion sickness.

[0004] In the context of relevant technologies, medication is typically used to alleviate motion sickness. However, medications often cause side effects such as drowsiness. Therefore, reducing sensory conflict and alleviating motion sickness is a technical problem that needs to be solved. Summary of the Invention

[0005] To address the aforementioned technical problems, embodiments of this application provide a method, apparatus, electronic device, storage medium, and program product for screen display.

[0006] On one hand, this application provides a screen display method, including:

[0007] When an anti-motion sickness event is detected, the target graphic element is displayed on the screen of the target device.

[0008] Based on the gravitational acceleration and linear acceleration of the target equipment, the linear acceleration is decomposed to obtain the motion acceleration components;

[0009] The speed at which the target graphic element moves on the screen is determined based on the motion acceleration components. The speed value is positively correlated with the speed value of the motion acceleration components, and the direction of the speed is opposite to the direction of the motion acceleration components.

[0010] Control the target graphic element to move across the screen according to its movement speed.

[0011] In one embodiment, the gravitational acceleration is (gx, gy, gz), and the motion acceleration components include a first acceleration component and a second acceleration component.

[0012] Based on the gravitational acceleration and linear acceleration of the target equipment, the linear acceleration is decomposed to obtain the motion acceleration components, including:

[0013] The first acceleration component is obtained based on the projection of linear acceleration onto the (gx, gz) plane;

[0014] The second acceleration component is obtained based on the projection of the linear acceleration onto the (gy, gz) plane.

[0015] In one implementation, determining the movement speed of a target graphic element on the screen based on motion acceleration components includes:

[0016] When there are multiple linear accelerations, an updated first motion count value is obtained based on the first average value of the multiple first acceleration components and the current first motion count value; wherein, the first motion count value represents the persistence of the motion trend in the direction corresponding to the first acceleration component, and the initial value of the first motion count value is 0;

[0017] A first acceleration trend is determined based on the first average value and the updated first motion count value;

[0018] An updated second motion count value is obtained based on the second average value of multiple second acceleration components and the current second motion count value; wherein the second motion count value represents the persistence of the motion trend in the direction corresponding to the second acceleration component, and the initial value of the second motion count value is 0;

[0019] The second acceleration trend is determined based on the second average value and the updated second motion count value;

[0020] Determine the movement speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend.

[0021] In one implementation, before determining the first acceleration trend, the method further includes:

[0022] Use any one of the following:

[0023] If the first average value is greater than zero, and the number of acceleration components greater than zero in each first acceleration component is less than the first quantity threshold, then the first average value is adjusted to 0.

[0024] If the first average value is less than zero, and the number of acceleration components less than zero in each first acceleration component is less than the second quantity threshold, then the first average value is adjusted to 0.

[0025] If the second average value is greater than zero, and the number of acceleration components greater than zero in each second acceleration component is less than the third quantity threshold, then the second average value is adjusted to 0.

[0026] If the second average value is less than zero, and the number of acceleration components less than zero in each second acceleration component is less than the fourth quantity threshold, then the second average value is adjusted to 0.

[0027] In one implementation, obtaining an updated first motion count value based on a first average of multiple first acceleration components and a current first motion count value includes:

[0028] Use any one of the following:

[0029] If the current first motion count value is not lower than zero and the first average value is greater than zero, then the current first motion count value will be increased.

[0030] If the current first motion count value is not lower than zero and the first average value is not greater than zero, then the current first motion count value is updated to the first set value; the first set value is less than zero.

[0031] If the current first motion count value is below zero and the first average value is less than zero, then the current first motion count value will be reduced.

[0032] If the current first motion count value is lower than zero and the first average value is not less than zero, then the current first motion count value is updated to the second set value; the second set value is greater than zero.

[0033] In one embodiment, obtaining an updated second motion count value based on a second average value of multiple second acceleration components and the current second motion count value includes:

[0034] Use any one of the following:

[0035] If the current second motion count value is not lower than zero and the second average value is greater than zero, then the current second motion count value will be increased.

[0036] If the current second motion count value is not lower than zero and the second average value is not greater than zero, then the current second motion count value is updated to the first set value; the first set value is less than zero.

[0037] If the current second motion count value is below zero and the second average value is less than zero, then the current second motion count value will be reduced.

[0038] If the current second motion count value is lower than zero and the second average value is not less than zero, then the current second motion count value is updated to the second set value; the second set value is greater than zero.

[0039] In one implementation, determining a first acceleration trend based on a first average value and an updated first motion count value includes:

[0040] Based on the adjustment coefficient, the absolute value of the updated first motion count value is adjusted to obtain the first adjustment result;

[0041] The first acceleration trend is obtained by multiplying the first adjustment result and the first average value; wherein the first acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0042] In one implementation, determining a second acceleration trend based on a second average value and an updated second motion count value includes:

[0043] Based on the adjustment coefficient, the absolute value of the updated second motion count is adjusted to obtain the second adjustment result;

[0044] The second acceleration trend is obtained by multiplying the second adjustment result and the second average value; wherein the second acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0045] In one implementation, determining a second acceleration trend based on a second average value and an updated second motion count value includes:

[0046] Based on the adjustment coefficient, the absolute value of the updated second motion count is adjusted to obtain the second adjustment result;

[0047] The second acceleration trend is obtained by multiplying the second adjustment result and the second average value; wherein the second acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0048] In one embodiment, determining the moving speed based on the current screen orientation, a first acceleration trend, and a second acceleration trend includes:

[0049] If the screen orientation is the first screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity.

[0050] The first velocity is defined as the first component of the moving velocity in the first direction of motion;

[0051] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0052] The second velocity is defined as the second velocity component in the second direction of motion.

[0053] In one embodiment, determining the moving speed based on the current screen orientation, a first acceleration trend, and a second acceleration trend includes:

[0054] If the screen orientation is the second screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity.

[0055] The reverse velocity of the first velocity is determined as the first velocity component in the first direction of motion.

[0056] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0057] The reverse velocity of the second velocity is determined as the second velocity component of the moving velocity in the second direction of motion.

[0058] In one embodiment, determining the moving speed based on the current screen orientation, a first acceleration trend, and a second acceleration trend includes:

[0059] If the screen orientation is the third screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between acceleration trend and velocity.

[0060] The first velocity is defined as the second velocity component in the second direction of motion.

[0061] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0062] The reverse velocity of the second velocity is determined as the first component of the moving velocity in the first direction of motion.

[0063] In one embodiment, determining the moving speed based on the current screen orientation, a first acceleration trend, and a second acceleration trend includes:

[0064] If the screen orientation is the fourth screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between acceleration trend and velocity.

[0065] The reverse velocity of the first velocity is determined as the second velocity component of the moving velocity in the second direction of motion;

[0066] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0067] The second velocity is defined as the first component of the moving velocity in the first direction of motion.

[0068] In one embodiment, the target graphic element is at least one; the method further includes:

[0069] For each target graphic element, perform the following steps:

[0070] Real-time acquisition of pixel values ​​of each pixel within a specified range surrounding the target graphic element;

[0071] The weighted sum of each pixel value is obtained by summing the values ​​in a weighted manner.

[0072] The weighted sum is then inverted to obtain the target pixel value.

[0073] Update the pixel value of the target graphic element to the target pixel value.

[0074] In one embodiment, the method further includes:

[0075] The number of target graphic elements is adjusted based on at least one of the first acceleration trend and the second acceleration trend; the number of target graphic elements is positively correlated with the first acceleration trend or the second acceleration trend.

[0076] On one hand, embodiments of this application provide a screen display device, including:

[0077] Display unit: When an anti-motion sickness event is detected, display the target graphic elements on the screen of the target device;

[0078] The decomposition unit is used to decompose the linear acceleration based on the gravitational acceleration and linear acceleration of the target device to obtain the motion acceleration components;

[0079] The determining unit is used to determine the moving speed of the target graphic element on the screen based on the motion acceleration component; the speed value of the moving speed is positively correlated with the speed value of the motion acceleration component, and the direction of the moving speed is opposite to the direction of the motion acceleration component.

[0080] The movement unit is used to control the movement of the target graphic element on the screen according to the movement speed.

[0081] In one embodiment, the gravitational acceleration is (gx, gy, gz), and the motion acceleration components include a first acceleration component and a second acceleration component.

[0082] Decomposition units are used for:

[0083] The first acceleration component is obtained based on the projection of linear acceleration onto the (gx, gz) plane;

[0084] The second acceleration component is obtained based on the projection of the linear acceleration onto the (gy, gz) plane.

[0085] In one implementation, the determining unit is used to:

[0086] When there are multiple linear accelerations, an updated first motion count value is obtained based on the first average value of the multiple first acceleration components and the current first motion count value; wherein, the first motion count value represents the persistence of the motion trend in the direction corresponding to the first acceleration component, and the initial value of the first motion count value is 0;

[0087] A first acceleration trend is determined based on the first average value and the updated first motion count value;

[0088] An updated second motion count value is obtained based on the second average value of multiple second acceleration components and the current second motion count value; wherein the second motion count value represents the persistence of the motion trend in the direction corresponding to the second acceleration component, and the initial value of the second motion count value is 0;

[0089] The second acceleration trend is determined based on the second average value and the updated second motion count value;

[0090] Determine the movement speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend.

[0091] In one embodiment, the determining unit is further configured to:

[0092] Use any one of the following:

[0093] If the first average value is greater than zero, and the number of acceleration components greater than zero in each first acceleration component is less than the first quantity threshold, then the first average value is adjusted to 0.

[0094] If the first average value is less than zero, and the number of acceleration components less than zero in each first acceleration component is less than the second quantity threshold, then the first average value is adjusted to 0.

[0095] If the second average value is greater than zero, and the number of acceleration components greater than zero in each second acceleration component is less than the third quantity threshold, then the second average value is adjusted to 0.

[0096] If the second average value is less than zero, and the number of acceleration components less than zero in each second acceleration component is less than the fourth quantity threshold, then the second average value is adjusted to 0.

[0097] In one implementation, the determining unit is used to:

[0098] Use any one of the following:

[0099] If the current first motion count value is not lower than zero and the first average value is greater than zero, then the current first motion count value will be increased.

[0100] If the current first motion count value is not lower than zero and the first average value is not greater than zero, then the current first motion count value is updated to the first set value; the first set value is less than zero.

[0101] If the current first motion count value is below zero and the first average value is less than zero, then the current first motion count value will be reduced.

[0102] If the current first motion count value is lower than zero and the first average value is not less than zero, then the current first motion count value is updated to the second set value; the second set value is greater than zero.

[0103] In one implementation, the determining unit is used to:

[0104] Use any one of the following:

[0105] If the current second motion count value is not lower than zero and the second average value is greater than zero, then the current second motion count value will be increased.

[0106] If the current second motion count value is not lower than zero and the second average value is not greater than zero, then the current second motion count value is updated to the first set value; the first set value is less than zero.

[0107] If the current second motion count value is below zero and the second average value is less than zero, then the current second motion count value will be reduced.

[0108] If the current second motion count value is lower than zero and the second average value is not less than zero, then the current second motion count value is updated to the second set value; the second set value is greater than zero.

[0109] In one implementation, the determining unit is used to:

[0110] Based on the adjustment coefficient, the absolute value of the updated first motion count value is adjusted to obtain the first adjustment result;

[0111] The first acceleration trend is obtained by multiplying the first adjustment result and the first average value; wherein the first acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0112] In one implementation, the determining unit is used to:

[0113] Based on the adjustment coefficient, the absolute value of the updated second motion count is adjusted to obtain the second adjustment result;

[0114] The second acceleration trend is obtained by multiplying the second adjustment result and the second average value; wherein the second acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0115] In one implementation, the determining unit is used to:

[0116] If the screen orientation is the first screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity.

[0117] The first velocity is defined as the first component of the moving velocity in the first direction of motion;

[0118] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0119] The second velocity is defined as the second velocity component in the second direction of motion.

[0120] In one implementation, the determining unit is used to:

[0121] If the screen orientation is the second screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity.

[0122] The reverse velocity of the first velocity is determined as the first velocity component in the first direction of motion.

[0123] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0124] The reverse velocity of the second velocity is determined as the second velocity component of the moving velocity in the second direction of motion.

[0125] In one implementation, the determining unit is used to:

[0126] If the screen orientation is the third screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between acceleration trend and velocity.

[0127] The first velocity is defined as the second velocity component in the second direction of motion.

[0128] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0129] The reverse velocity of the second velocity is determined as the first component of the moving velocity in the first direction of motion.

[0130] In one implementation, the determining unit is used to:

[0131] If the screen orientation is the fourth screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between acceleration trend and velocity.

[0132] The reverse velocity of the first velocity is determined as the second velocity component of the moving velocity in the second direction of motion;

[0133] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0134] The second velocity is defined as the first component of the moving velocity in the first direction of motion.

[0135] In one embodiment, the target graphic element is at least one; the moving unit is further configured to:

[0136] For each target graphic element, perform the following steps:

[0137] Real-time acquisition of pixel values ​​of each pixel within a specified range surrounding the target graphic element;

[0138] The weighted sum of each pixel value is obtained by summing the values ​​in a weighted manner.

[0139] The weighted sum is then inverted to obtain the target pixel value.

[0140] Update the pixel value of the target graphic element to the target pixel value.

[0141] In one embodiment, the moving unit is further configured to:

[0142] The number of target graphic elements is adjusted based on at least one of the first acceleration trend and the second acceleration trend; the number of target graphic elements is positively correlated with the first acceleration trend or the second acceleration trend.

[0143] On one hand, this application provides an electronic device, including:

[0144] Processor; and

[0145] The memory stores computer instructions that cause the processor to perform the steps of the methods provided in the various alternative implementations of any of the screen displays described above.

[0146] On one hand, this application provides a computer-readable storage medium storing computer instructions for causing a computer to perform the steps of the methods provided in various optional implementations of any of the screen displays described above.

[0147] On one hand, this application provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code. When the computer-readable code is run in the processor of an electronic device, the processor in the electronic device executes the steps of the method provided in any of the various optional implementations shown on the screen above.

[0148] The screen display method in this application includes, upon determining that a motion sickness event is detected, displaying a target graphic element on the screen of the target device; decomposing the linear acceleration based on the gravitational acceleration and linear acceleration of the target device to obtain motion acceleration components; determining the movement speed of the target graphic element on the screen based on the motion acceleration components; the speed value of the movement speed is positively correlated with the speed value of the motion acceleration components, and the direction of the movement speed is opposite to the direction of the motion acceleration components; and controlling the target graphic element to move on the screen according to the movement speed. In this way, the target graphic element on the screen can be controlled to move in the opposite direction to the motion acceleration components based on the acceleration data of the target device, reducing perceptual conflict and thus alleviating motion sickness. Attached Figure Description

[0149] Figure 1 This is a flowchart of a screen display method according to an embodiment of this application.

[0150] Figure 2 This is a schematic diagram of the movement of a target graphic element in an embodiment of this application.

[0151] Figure 3 This is a flowchart of a method for displaying a mobile phone screen according to an embodiment of this application.

[0152] Figure 4 This is a flowchart of a dot matrix movement method in an embodiment of this application.

[0153] Figure 5 This is a structural block diagram of a screen display device according to an embodiment of this application.

[0154] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0155] The technical solution of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. Furthermore, the technical features involved in the different embodiments of this application described below can be combined with each other as long as they do not conflict with each other.

[0156] The core mechanism of motion sickness lies in the inconsistency between the motion information transmitted by the vestibular system, visual system, and somatosensory nerves, leading to the brain's inability to coordinate the processing of motion. Specifically, when a vehicle is in motion, the vestibular organs detect changes in acceleration and angular velocity through the inner ear's balance receptors. However, if the visual system fails to synchronously perceive the same motion, or if the somatosensory nerves fail to detect the corresponding body displacement, conflicting signals are transmitted to the brain, triggering motion sickness symptoms. Furthermore, with the widespread use of smart mobile devices, passengers are spending significantly more time focusing on static or dynamic visual content while traveling, further exacerbating the conflict between visual and vestibular perception, thus increasing the incidence of motion sickness.

[0157] With the help of relevant technologies, the main ways to alleviate motion sickness include drug intervention (such as antihistamines), physical assistance (such as wearing balance training glasses) or behavioral regulation (such as fixing the gaze on the distant horizon).

[0158] However, these methods typically have significant limitations. For example, medications may cause side effects such as drowsiness, physical devices are not portable and cannot dynamically adapt to complex motion environments, and behavioral regulation relies on the passenger's subjective cooperation, resulting in inconsistent effects.

[0159] Based on the deficiencies of the aforementioned related technologies, this application provides a method, apparatus, electronic device, storage medium, and program product for screen display, aiming to reduce perceptual conflicts and alleviate motion sickness.

[0160] This application provides a screen display method, which can be applied to electronic devices. This application does not limit the type of electronic device, which can be any suitable type of device, such as terminal devices and servers, etc. This application will not elaborate further.

[0161] The target device controls the movement of target graphic elements displayed on its screen based on sensor data it collects, in order to prevent motion sickness. The screen of the target device can be a mobile phone screen viewed by the user, or a vehicle screen viewed by the user. The target device can be a mobile transportation device (e.g., a vehicle), or a terminal located on the mobile transportation device (e.g., a mobile phone).

[0162] In one application scenario, a passenger is carrying a mobile phone (i.e., the target device) in a moving vehicle. The mobile phone can determine the linear acceleration and gravitational acceleration of the phone based on the collected sensor data, and control the movement of the target graphic elements (e.g., a dot matrix) on the phone screen based on the linear acceleration and gravitational acceleration.

[0163] In another application scenario, when a passenger is riding in a moving vehicle (i.e., the target device), the vehicle can determine the linear acceleration and gravitational acceleration based on the collected sensor data, and control the movement of the target graphic elements (e.g., a dot matrix) on the in-vehicle screen based on the linear acceleration and gravitational acceleration.

[0164] See Figure 1 The diagram shown is a flowchart of a screen display method according to an embodiment of this application. The following is a description of the method in conjunction with... Figure 1 The method is described below, and the specific implementation process is as follows:

[0165] Step 100: When an anti-motion sickness event is detected, display the target graphic element on the screen of the target device.

[0166] In one implementation, when a motion sickness event is detected, a motion sickness mitigation function is activated to display target graphic elements on the screen of the target device.

[0167] Optionally, the motion sickness prevention event can be triggered by receiving a user's manual instruction to activate the function, or by detecting that the activation conditions for the function are met. The function can be activated using at least one of the following methods:

[0168] Method 1: Actively enable this feature based on the user's settings.

[0169] For example, users can manually enable this feature in the settings or control center of the target device.

[0170] Method 2: When the target device detects that the activation conditions are met, the function will be automatically activated.

[0171] In one implementation, the target device can determine whether a user is inside the vehicle based on at least one of the following: If the user is determined to be inside the vehicle, then the activation condition is met:

[0172] IMU detection data, barometer (BAR) detection data, Global Positioning System (GPS) positioning data, and Apple CarPlay (ACP) notifications.

[0173] This is because the vehicle's operating status (e.g., rapid acceleration or turning) can be obtained through the IMU, and the air pressure changes detected by the BAR can determine whether the current vehicle is in a closed environment (e.g., a tunnel or garage). The current vehicle speed and road can be determined through GPS to exclude walking and cycling scenarios, and the in-vehicle scene can be directly determined through the connected CP.

[0174] Step 101: Based on the gravitational acceleration and linear acceleration of the target device, decompose the linear acceleration to obtain the motion acceleration components.

[0175] In one implementation, when performing step 101, the following steps may be adopted:

[0176] S1011: Obtain the linear acceleration and gravitational acceleration of the target device.

[0177] In one implementation, the raw acceleration is acquired by a motion sensor, and the linear acceleration and gravitational acceleration are calculated based on the raw acceleration.

[0178] The original acceleration can be decomposed into linear acceleration and gravitational acceleration. Original acceleration can usually be directly acquired, while linear acceleration is typically obtained based on the decomposition of the original acceleration. Linear acceleration refers to the acceleration of the target device when it is not affected by gravity, i.e., the acceleration generated by the movement of the target device (e.g., shaking, moving). Gravitational acceleration refers to the acceleration generated by the Earth's gravity acting on the target device, and its direction always points towards the Earth's center. Optionally, the motion sensor can be an inertial measurement unit (IMU). Gravitational acceleration is mainly used to determine the device's attitude.

[0179] For example, a low-pass filter can be used to filter the original acceleration to obtain the gravitational acceleration, and the difference between the original acceleration and the gravitational acceleration can be calculated to obtain the linear acceleration.

[0180] Furthermore, angular velocity (i.e., gyroscope data) collected by motion sensors can be acquired, and linear acceleration and gravitational acceleration can be calculated based on the original acceleration and angular velocity. Specifically, more accurate linear acceleration and gravitational acceleration can be obtained by combining the original acceleration and angular velocity through complementary filtering or Kalman filtering.

[0181] Optionally, a device coordinate system (x, y, z) can be established based on the target device. Then, the linear acceleration can be expressed as (lx, ly, lz), and the gravitational acceleration can be expressed as (gx, gy, gz).

[0182] For example, if the target device is a mobile phone, a right-handed coordinate system can be established for the phone, with its origin at the center of the phone screen. The three axes are defined as follows: X-axis: parallel to the long side of the phone, pointing from the bottom to the top. Y-axis: parallel to the short side of the phone, pointing from the left to the right. Z-axis: perpendicular to the phone screen, pointing outwards from the phone.

[0183] Furthermore, the linear acceleration and gravitational acceleration of the target device can be directly acquired through specific sensors, without any limitations.

[0184] S1012: Based on the gravitational acceleration and linear acceleration of the target device, decompose the linear acceleration to obtain the motion acceleration components.

[0185] The motion acceleration component includes a first acceleration component and a second acceleration component.

[0186] In one implementation, when performing step 1012, the following steps may be adopted:

[0187] The first acceleration component is obtained based on the projection of the linear acceleration onto the (gx, gz) plane, and the second acceleration component is obtained based on the projection of the linear acceleration onto the (gy, gz) plane.

[0188] Step 102: Determine the movement speed of the target graphic element on the screen based on the motion acceleration components.

[0189] Among them, the velocity value of the moving speed is positively correlated with the velocity value of the motion acceleration component, and the direction of the moving speed is opposite to the direction of the motion acceleration component.

[0190] In one implementation, step 102 may be performed using the following steps:

[0191] S1021: Determine the moving speed based on the first acceleration component and the second acceleration component.

[0192] Furthermore, multiple consecutive linear accelerations can be acquired, and the multiple first acceleration components a1 corresponding to the latest multiple linear accelerations can be stored in buffer_1, and the multiple second acceleration components a2 corresponding to the latest multiple linear accelerations can be stored in buffer_2. For example, buffer can store 10 data points within the latest 0.2s.

[0193] In one implementation, when performing S1021, the following steps may be adopted:

[0194] S1021-1: Based on the first average value of multiple first acceleration components and the current first motion count value, obtain the updated first motion count value.

[0195] The first motion count value represents the persistence of the motion trend in the direction corresponding to the first acceleration component, and the initial value of the first motion count value is 0.

[0196] In one implementation, when performing S1021-1, the following steps may be adopted:

[0197] S1021-11: Determine the first average value of the first acceleration component corresponding to each of the multiple linear accelerations.

[0198] For example, calculate the average of multiple a1 values ​​in buffer_1 to obtain the first average value mean_1.

[0199] Furthermore, the first average value can be filtered and optimized.

[0200] In one implementation, any one of the following can be used:

[0201] Method 1: If the first average value is greater than zero, and the number of acceleration components greater than zero in each first acceleration component is less than the first quantity threshold, then the first average value is adjusted to 0.

[0202] If mean_1 > 0 and the number of a1 values ​​greater than 0 in buffer_1 is less than the first quantity threshold (e.g., 5), then set mean_1 = 0.

[0203] The first quantity threshold can be obtained by multiplying the total quantity of buffer_1 by a first set ratio (e.g., 2 / 3).

[0204] In practical applications, both the first quantity threshold and the first set ratio can be set according to the actual application scenario, and no restrictions are imposed here.

[0205] Method 2: If the first average value is less than zero, and the number of acceleration components less than zero in each first acceleration component is lower than the second quantity threshold, then the first average value is adjusted to 0.

[0206] If mean_1 < 0 and the number of a1 values ​​less than 0 in buffer_1 is less than the second quantity threshold (e.g., 5), then set mean_1 = 0.

[0207] The second quantity threshold can be obtained by multiplying the total quantity of buffer_1 by a second set ratio (e.g., 2 / 3).

[0208] In practical applications, the second quantity threshold and the second set ratio can be set according to the actual application scenario, and there are no restrictions here.

[0209] S1021-12: Obtain the updated first motion count value based on the first average value and the current first motion count value.

[0210] In one implementation, when performing S1021-12, any one of the following can be used:

[0211] Method 1: If the current first motion count value is not lower than zero and the first average value is greater than zero, then the current first motion count value will be increased.

[0212] For example, if the first motion count value continuous_cnt_1>=0 and mean_1>0, then add 1 to continuous_cnt_1, that is, continuous_cnt_1+=1.

[0213] Method 2: If the current first motion count value is not lower than zero and the first average value is not greater than zero, then update the current first motion count value to the first set value; the first set value is less than zero.

[0214] For example, if the first motion count value continuous_cnt_1>=0 and mean_1≤0, then continuous_cnt_1 is set to -1, that is, continuous_cnt_1=-1.

[0215] Method 3: If the current first motion count value is lower than zero and the first average value is less than zero, then the current first motion count value will be reduced.

[0216] For example, if the first motion count value continuous_cnt_1 < 0 and mean_1 < 0, then decrease continuous_cnt_1 by 1, that is, continuous_cnt_1 -= 1.

[0217] Method 4: If the current first motion count value is lower than zero and the first average value is not less than zero, then update the current first motion count value to the second set value; the second set value is greater than zero.

[0218] For example, if the first motion count value continuous_cnt_1 < 0 and mean_1 ≥ 0, then continuous_cnt_1 is set to 1, i.e., continuous_cnt_1 = 1.

[0219] Furthermore, to limit the range of the first motion count value, the following formula can also be used:

[0220] continuous_cnt_1=max(min(continuous_cnt_1,c_th),-c_th).

[0221] Where c_th is the maximum count value and -c_th is the minimum count value.

[0222] S1021-2: Determine the first acceleration trend based on the first average value and the updated first motion count value.

[0223] In one embodiment, the absolute value of the updated first motion count value is adjusted according to an adjustment coefficient to obtain a first adjustment result; a first acceleration trend is obtained by multiplying the first adjustment result by a first average value; wherein the first acceleration trend is not lower than a first trend threshold and not higher than a second trend threshold.

[0224] Optionally, the following formula can be used to determine the first acceleration trend q1:

[0225] q1=max(min(mean_1*(w1+abs(continuous_cnt_1*w2)), v_th), -v_th);

[0226] Where w1 and w2 are pre-set adjustment coefficients, v_th represents the maximum trend value of q1, i.e., the second trend threshold, and -v_th represents the minimum trend value of q1, i.e., the first trend threshold.

[0227] S1021-3: Obtain the updated second motion count value based on the second average value of multiple second acceleration components and the current second motion count value.

[0228] The second motion count value represents the persistence of the motion trend in the direction corresponding to the second acceleration component, and the initial value of the second motion count value is 0.

[0229] In one implementation, when performing S1021-3, the following steps may be adopted:

[0230] S1021-31: Determine the second average value of the second acceleration components corresponding to the multiple linear accelerations.

[0231] Furthermore, the second average value, mean_2, can be filtered and optimized. In one implementation, any one of the following can be used:

[0232] Method 1: If the second average value is greater than zero, and the number of acceleration components greater than zero in each second acceleration component is less than the third quantity threshold, then the second average value is adjusted to 0.

[0233] Method 2: If the second average value is less than zero, and the number of acceleration components less than zero in each second acceleration component is less than the fourth quantity threshold, then the second average value is adjusted to 0.

[0234] Specifically, the second average value can be filtered and optimized using a similar principle as the first average value filtering optimization, which will not be elaborated here.

[0235] S1021-32: Obtain the updated second motion count value based on the second average value and the current second motion count value.

[0236] In one implementation, when executing S1021-32, any one of the following can be used:

[0237] If the current second motion count value is not lower than zero and the second average value is greater than zero, then the current second motion count value will be increased.

[0238] If the current second motion count value is not lower than zero and the second average value is not greater than zero, then the current second motion count value is updated to the first set value; the first set value is less than zero.

[0239] If the current second motion count value is below zero and the second average value is less than zero, then the current second motion count value will be reduced.

[0240] If the current second motion count value is lower than zero and the second average value is not less than zero, then the current second motion count value is updated to the second set value; the second set value is greater than zero.

[0241] Specifically, the second motion count value, continuous_cnt_2, can be updated using a similar principle as updating the first motion count value, continuous_cnt_1, which will not be elaborated here.

[0242] S1021-4: Determine the second acceleration trend based on the second average value and the updated second motion count value.

[0243] In one embodiment, the absolute value of the updated second motion count value is adjusted according to an adjustment coefficient to obtain a second adjustment result; a second acceleration trend is obtained by multiplying the second adjustment result by a second average value; wherein the second acceleration trend is not lower than a first trend threshold and not higher than a second trend threshold.

[0244] Specifically, the second acceleration trend q2 can be determined using a principle similar to that used to determine the first acceleration trend q1, which will not be elaborated here.

[0245] S1021-5: Determine the movement speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend.

[0246] The movement speed may include a first movement speed component in a first movement direction and a second movement speed component in a second movement direction. The first and second movement directions are set according to the screen display direction.

[0247] In one embodiment, a first velocity corresponding to a first acceleration trend and a second velocity corresponding to a second acceleration trend are determined based on the correspondence between acceleration trends and velocities, and a first velocity component and a second velocity component are determined based on the first velocity and the second velocity.

[0248] The following is combined with Figure 2 The correspondence between the movement speed of the target graphic element and its screen orientation and acceleration trend. (See also...) Figure 2 The diagram illustrates the motion of a target graphic element. The first velocity corresponding to the first acceleration trend is V(q1), and the second velocity corresponding to the second acceleration trend is V(q2). The first motion direction can be the horizontal direction of the screen, and the second motion direction can be the vertical direction of the screen. The first and second motion directions can be determined based on the orientation of the content displayed on the screen. The first velocity component can be the horizontal velocity, and the second velocity component can be the vertical velocity. V(q1) is positively correlated with q1, and V(q2) is positively correlated with q2.

[0249] When executing S1021-5, any of the following methods can be used:

[0250] Method 1: If the screen orientation is the first screen orientation, then based on the first screen orientation, the first acceleration trend is used to determine the first moving speed component, and the second acceleration trend is used to determine the second moving speed component.

[0251] In one embodiment, if the screen orientation is a first screen orientation, then according to the correspondence between acceleration trend and velocity, a first velocity corresponding to the first acceleration trend is determined; the first velocity is determined as a first moving velocity component of the moving velocity in the first motion direction; according to the correspondence, a second velocity corresponding to the second acceleration trend is determined; the second velocity is determined as a second moving velocity component of the moving velocity in the second motion direction.

[0252] Figure 2 In the first screen orientation, which is a portrait orientation, the horizontal movement speed is V(q1) and the vertical movement speed is V(q2).

[0253] Method 2: If the screen orientation is the second screen orientation, then based on the second screen orientation, the first acceleration trend is used to determine the first moving speed component, and the second acceleration trend is used to determine the second moving speed component.

[0254] In one embodiment, if the screen orientation is the second screen orientation, then according to the correspondence between acceleration trend and velocity, the first velocity corresponding to the first acceleration trend is determined; the reverse velocity of the first velocity is determined as the first moving velocity component of the moving velocity in the first motion direction; according to the correspondence, the second velocity corresponding to the second acceleration trend is determined; the reverse velocity of the second velocity is determined as the second moving velocity component of the moving velocity in the second motion direction.

[0255] Figure 2 In the case where the second screen is in reverse portrait orientation, the horizontal movement speed is -V(q1) and the vertical movement speed is -V(q2).

[0256] In this context, the reverse velocity of a velocity is the product of that velocity and -1, which is the reverse value of that velocity. The magnitude of the original velocity and its corresponding reverse velocity are the same, but the direction is opposite. For example, if the second velocity is V(q2), the reverse velocity of the second velocity is -V(q2).

[0257] Method 3: If the screen orientation is the third screen orientation, then based on the third screen orientation, the first acceleration trend is used to determine the second movement speed component, and the second acceleration trend is used to determine the first movement speed component.

[0258] In one embodiment, if the screen orientation is a third screen orientation, then according to the correspondence between acceleration trend and velocity, the first velocity corresponding to the first acceleration trend is determined; the first velocity is determined as the second velocity component of the moving velocity in the second motion direction; according to the correspondence, the second velocity corresponding to the second acceleration trend is determined; and the reverse velocity of the second velocity is determined as the first velocity component of the moving velocity in the first motion direction.

[0259] Figure 2 In the middle, the direction of the third screen is a normal landscape, then the horizontal movement speed is: -V(q2), and the vertical movement speed is: V(q1).

[0260] Method 4: If the screen orientation is the fourth screen orientation, then based on the fourth screen orientation, the first acceleration trend is used to determine the second movement speed component, and the second acceleration trend is used to determine the first movement speed component.

[0261] In one embodiment, if the screen orientation is the fourth screen orientation, then according to the correspondence between acceleration trend and velocity, the first velocity corresponding to the first acceleration trend is determined respectively; the reverse velocity of the first velocity is determined as the second velocity component of the moving velocity in the second motion direction; according to the correspondence, the second velocity corresponding to the second acceleration trend is determined respectively; the second velocity is determined as the first velocity component of the moving velocity in the first motion direction.

[0262] Figure 2 In the middle, the fourth screen direction is reverse landscape, then the horizontal movement speed is: V(q2), and the vertical movement speed is: -V(q1).

[0263] Optionally, the target graphic element can be a dot matrix and can be located in a dynamic dot matrix layer on the screen, thereby establishing a mapping between device motion and visual compensation. The dot matrix is ​​always displaced in the opposite direction to the device motion direction. For example, when the device accelerates, the dot matrix moves down; when the device decelerates, the dot matrix moves up; when the device turns left, the dot matrix moves right; and when the device turns right, the dot matrix moves left.

[0264] Step 103: Control the target graphic element to move on the screen according to the movement speed.

[0265] Furthermore, the number of target graphic elements can be adjusted.

[0266] In one embodiment, the number of target graphic elements is adjusted according to at least one of a first acceleration trend and a second acceleration trend; the number of target graphic elements is positively correlated with the first acceleration trend or the second acceleration trend.

[0267] Optionally, the maximum value between the first acceleration trend and the second acceleration trend can be determined, and the number of target graphic elements can be determined based on the maximum value.

[0268] For example, each target graphic element can be a dot matrix containing multiple points, located on the left and right sides of the screen respectively. If the first acceleration trend or the second acceleration trend exceeds the corresponding threshold, the dot matrix will have two columns on each side; otherwise, the dot matrix will have one column on each side.

[0269] Furthermore, it is also possible to obtain the movable range set for the target graphic element, so as to control that each target graphic element can only move within the movable range on the screen.

[0270] In practical applications, the shape (e.g., circular dots or square boxes), quantity, arrangement, and movable range of the target graphic elements can all be set according to the actual application scenario, and there are no restrictions here.

[0271] In this way, by mapping the movement of the device in a certain pattern, the visual state seen by the eyes is compensated, reducing the contradictory signals received by the brain, thereby alleviating motion sickness.

[0272] Furthermore, the target graphic elements can also be inverted. In one implementation, the following steps can be performed for each target graphic element:

[0273] The function acquires the pixel values ​​of each pixel within a specified range around the target graphic element in real time; it then performs a weighted summation of the pixel values ​​to obtain a weighted sum; it inverts the weighted summation to obtain the target pixel value; and finally, it updates the pixel values ​​of the target graphic element to the target pixel value.

[0274] This involves obtaining a circular region centered on the target graphic element with a specified radius, and then using the area within this prototype region excluding the target graphic element as the specified range. Color inversion can be performed using 255 minus a weighted sum to obtain the target pixel value.

[0275] In practical applications, the specified range can be set according to the actual application scenario, and there are no restrictions here.

[0276] In this way, by using a dynamic color inversion algorithm, each target graphic element (e.g., each point) is subjected to corresponding color inversion processing, which can ensure that the dot matrix maintains visual contrast under different backgrounds.

[0277] The embodiments of this application can be applied to a variety of devices, such as augmented reality / virtual reality (AR / VR) devices, intelligent cockpit systems (ICS) in vehicles, and medical assistance devices (MAD).

[0278] Among these, AR / VR can use the methods provided in the embodiments of this application to eliminate the inertial offset of the head-mounted display (HMD) and solve simulator sickness (SS) caused by the conflict between virtual scene motion and vestibular signal (VSIG). ICS can deeply integrate the methods provided in the embodiments of this application with a head-up display (HUD) to generate visual reference compensation based on vehicle inertial measurement unit (IMU) data, maintaining spatial registration (SR) between road information and the real world. MAD can use the methods provided in the embodiments of this application for visual-vestibular coordination rehabilitation training for patients with vestibular dysfunction.

[0279] The above embodiments will be illustrated below with a specific application scenario. This scenario involves a passenger carrying a mobile phone (i.e., the target device) while riding in a moving vehicle. See below. Figure 3 The diagram shown is a flowchart of a method for displaying information on a mobile phone screen. The specific steps include:

[0280] Step 301: When the mobile phone detects an anti-motion sickness event, it displays the target graphic element on the target device's screen.

[0281] For example, if a mobile phone receives a user's anti-motion sickness command or detects that the vehicle's operating status meets the activation conditions, it will determine that an anti-motion sickness event has been detected and activate the motion sickness mitigation function to display target graphic elements on the target device's screen.

[0282] Step 302: The mobile phone determines the linear acceleration and gravitational acceleration based on the detection data from the motion sensor.

[0283] Step 303: Detect the screen orientation of the mobile phone.

[0284] Step 304: The phone determines the movement speed of the dot matrix on the phone screen based on linear acceleration, gravitational acceleration, and screen orientation.

[0285] Step 305: The mobile phone inverts the colors of the dot matrix based on the background image on the screen.

[0286] Step 306: The phone moves the inverted pixel array on the screen according to the determined moving speed.

[0287] For the specific steps of executing steps 301-306, please refer to steps 101-103 above, which will not be repeated here.

[0288] The following is combined with Figure 4 The above embodiments will be described in detail below. Figure 4 The diagram shows a flowchart of a method for moving a dot matrix. The specific steps of this method include:

[0289] Step 401: Obtain the linear acceleration and gravitational acceleration based on the original acceleration and angular velocity of the target device.

[0290] Step 402: Based on linear acceleration and gravitational acceleration, decompose the linear acceleration to obtain the first acceleration component and the second acceleration component.

[0291] Step 403: Cache the latest multiple first acceleration components and multiple second acceleration components respectively.

[0292] Step 404: Determine the first acceleration trend based on the multiple first acceleration components in the cache.

[0293] Step 405: Determine the second acceleration trend based on the multiple second acceleration components in the cache.

[0294] Step 406: Determine the moving speed of the target graphic element based on the screen orientation, the first acceleration trend, and the second acceleration trend.

[0295] Step 407: Control the target graphic element to move on the screen according to the movement speed.

[0296] For the specific steps of executing steps 401-307, please refer to steps 101-103 above, which will not be repeated here.

[0297] In this way, the target graphic elements on the screen can be controlled to move in the opposite direction to the direction of the motion acceleration component based on the motion data of the target device, thereby reducing perceptual conflict and alleviating motion sickness.

[0298] Based on the same inventive concept, this application also provides a screen display device. Since the principle of the above-mentioned device and apparatus in solving the problem is similar to that of a screen display method, the implementation of the above-mentioned device can refer to the implementation of the method, and repeated details will not be elaborated further. This device can be applied to electronic devices. This application does not limit the type of electronic device; it can be any suitable type of device, such as terminal devices and servers, etc., which will not be elaborated further in this application. The device embodiment can be implemented by software, or by hardware, or a combination of software and hardware. Taking software implementation as an example, as a logical device, it is formed by the processor of the electronic device reading the corresponding computer program instructions from the non-volatile memory into memory and running them.

[0299] See Figure 5 The diagram shown is a structural block diagram of a screen display device according to an embodiment of this application. In some embodiments, the screen display device exemplified in this application includes:

[0300] Display unit 501: When a motion sickness prevention event is detected, it displays the target graphic element on the screen of the target device;

[0301] The decomposition unit 502 is used to decompose the linear acceleration based on the gravitational acceleration and linear acceleration of the target device to obtain the motion acceleration components;

[0302] The determining unit 503 is used to determine the moving speed of the target graphic element on the screen based on the motion acceleration component; the speed value of the moving speed is positively correlated with the speed value of the motion acceleration component, and the direction of the moving speed is opposite to the direction of the motion acceleration component.

[0303] The moving unit 504 is used to control the movement of the target graphic element on the screen according to the moving speed.

[0304] In one embodiment, the gravitational acceleration is (gx, gy, gz), and the motion acceleration components include a first acceleration component and a second acceleration component.

[0305] Decomposition unit 502 is used for:

[0306] The first acceleration component is obtained based on the projection of linear acceleration onto the (gx, gz) plane;

[0307] The second acceleration component is obtained based on the projection of the linear acceleration onto the (gy, gz) plane. In one embodiment, the determining unit 503 is used to:

[0308] When there are multiple linear accelerations, an updated first motion count value is obtained based on the first average value of the multiple first acceleration components and the current first motion count value; wherein, the first motion count value represents the persistence of the motion trend in the direction corresponding to the first acceleration component, and the initial value of the first motion count value is 0;

[0309] A first acceleration trend is determined based on the first average value and the updated first motion count value;

[0310] An updated second motion count value is obtained based on the second average value of multiple second acceleration components and the current second motion count value; wherein the second motion count value represents the persistence of the motion trend in the direction corresponding to the second acceleration component, and the initial value of the second motion count value is 0;

[0311] The second acceleration trend is determined based on the second average value and the updated second motion count value;

[0312] Determine the movement speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend.

[0313] In one embodiment, the determining unit 503 is further configured to:

[0314] Use any one of the following:

[0315] If the first average value is greater than zero, and the number of acceleration components greater than zero in each first acceleration component is less than the first quantity threshold, then the first average value is adjusted to 0.

[0316] If the first average value is less than zero, and the number of acceleration components less than zero in each first acceleration component is less than the second quantity threshold, then the first average value is adjusted to 0.

[0317] If the second average value is greater than zero, and the number of acceleration components greater than zero in each second acceleration component is less than the third quantity threshold, then the second average value is adjusted to 0.

[0318] If the second average value is less than zero, and the number of acceleration components less than zero in each second acceleration component is less than the fourth quantity threshold, then the second average value is adjusted to 0.

[0319] In one embodiment, the determining unit 503 is used to:

[0320] Use any one of the following:

[0321] If the current first motion count value is not lower than zero and the first average value is greater than zero, then the current first motion count value will be increased.

[0322] If the current first motion count value is not lower than zero and the first average value is not greater than zero, then the current first motion count value is updated to the first set value; the first set value is less than zero.

[0323] If the current first motion count value is below zero and the first average value is less than zero, then the current first motion count value will be reduced.

[0324] If the current first motion count value is lower than zero and the first average value is not less than zero, then the current first motion count value is updated to the second set value; the second set value is greater than zero.

[0325] In one embodiment, the determining unit 503 is used to:

[0326] Use any one of the following:

[0327] If the current second motion count value is not lower than zero and the second average value is greater than zero, then the current second motion count value will be increased.

[0328] If the current second motion count value is not lower than zero and the second average value is not greater than zero, then the current second motion count value is updated to the first set value; the first set value is less than zero.

[0329] If the current second motion count value is below zero and the second average value is less than zero, then the current second motion count value will be reduced.

[0330] If the current second motion count value is lower than zero and the second average value is not less than zero, then the current second motion count value is updated to the second set value; the second set value is greater than zero.

[0331] In one embodiment, the determining unit 503 is used to:

[0332] Based on the adjustment coefficient, the absolute value of the updated first motion count value is adjusted to obtain the first adjustment result;

[0333] The first acceleration trend is obtained by multiplying the first adjustment result and the first average value; wherein the first acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0334] In one embodiment, the determining unit 503 is used to:

[0335] Based on the adjustment coefficient, the absolute value of the updated second motion count is adjusted to obtain the second adjustment result;

[0336] The second acceleration trend is obtained by multiplying the second adjustment result and the second average value; wherein the second acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

[0337] In one embodiment, the determining unit 503 is used to:

[0338] If the screen orientation is the first screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity.

[0339] The first velocity is defined as the first component of the moving velocity in the first direction of motion;

[0340] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0341] The second velocity is defined as the second velocity component in the second direction of motion.

[0342] In one embodiment, the determining unit 503 is used to:

[0343] If the screen orientation is the second screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity.

[0344] The reverse velocity of the first velocity is determined as the first velocity component in the first direction of motion.

[0345] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0346] The reverse velocity of the second velocity is determined as the second velocity component of the moving velocity in the second direction of motion.

[0347] In one embodiment, the determining unit 503 is used to:

[0348] If the screen orientation is the third screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between acceleration trend and velocity.

[0349] The first velocity is defined as the second velocity component in the second direction of motion.

[0350] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0351] The reverse velocity of the second velocity is determined as the first component of the moving velocity in the first direction of motion.

[0352] In one embodiment, the determining unit 503 is used to:

[0353] If the screen orientation is the fourth screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between acceleration trend and velocity.

[0354] The reverse velocity of the first velocity is determined as the second velocity component of the moving velocity in the second direction of motion;

[0355] Based on the correspondence, determine the second velocity corresponding to the second acceleration trend;

[0356] The second velocity is defined as the first component of the moving velocity in the first direction of motion.

[0357] In one embodiment, the target graphic element is at least one; the moving unit 504 is further configured to:

[0358] For each target graphic element, perform the following steps:

[0359] Real-time acquisition of pixel values ​​of each pixel within a specified range surrounding the target graphic element;

[0360] The weighted sum of each pixel value is obtained by summing the values ​​in a weighted manner.

[0361] The weighted sum is then inverted to obtain the target pixel value.

[0362] Update the pixel value of the target graphic element to the target pixel value.

[0363] In one embodiment, the moving unit 504 is further configured to:

[0364] The number of target graphic elements is adjusted based on at least one of the first acceleration trend and the second acceleration trend; the number of target graphic elements is positively correlated with the first acceleration trend or the second acceleration trend.

[0365] The screen display method in this application includes, upon determining that a motion sickness event is detected, displaying a target graphic element on the screen of the target device; decomposing the linear acceleration based on the gravitational acceleration and linear acceleration of the target device to obtain motion acceleration components; determining the movement speed of the target graphic element on the screen based on the motion acceleration components; the speed value of the movement speed is positively correlated with the speed value of the motion acceleration components, and the direction of the movement speed is opposite to the direction of the motion acceleration components; and controlling the target graphic element to move on the screen according to the movement speed. In this way, the target graphic element on the screen can be controlled to move in the opposite direction to the motion acceleration components based on the acceleration data of the target device, reducing perceptual conflict and thus alleviating motion sickness.

[0366] In this embodiment of the application, an electronic device is also provided, including:

[0367] Processor; and

[0368] The memory stores computer instructions that cause the processor to execute the methods of any of the above-described embodiments.

[0369] In this application embodiment, a computer-readable storage medium is provided, storing computer instructions for causing a computer to perform the methods of any of the above embodiments.

[0370] This application also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in the processor of an electronic device, the processor in the electronic device performs the method of any of the above-described embodiments.

[0371] Figure 6 A schematic diagram of the structure of an electronic device 6000 is shown. (See also...) Figure 6 As shown, the electronic device 6000 includes a processor 6010 and a memory 6020, and optionally may also include a power supply 6030, a display unit 6040, and an input unit 6050.

[0372] The processor 6010 is the control center of the electronic device 6000. It connects various components through various interfaces and lines, and performs various functions of the electronic device 6000 by running or executing software programs and / or data stored in the memory 6020, thereby performing overall monitoring of the electronic device 6000.

[0373] In this embodiment, when the processor 6010 calls the computer program stored in the memory 6020, it executes the steps in the above embodiments.

[0374] Optionally, the processor 6010 may include one or more processing units; preferably, the processor 6010 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 6010. In some embodiments, the processor and memory may be implemented on a single chip; in some embodiments, they may also be implemented separately on independent chips.

[0375] The memory 6020 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, various applications, etc.; the data storage area may store data created based on the use of the electronic device 6000, etc. In addition, the memory 6020 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device, etc.

[0376] Electronic device 6000 also includes a power supply 6030 (such as a battery) that supplies power to various components. The power supply can be logically connected to processor 6010 through a power management system, thereby enabling the management of charging, discharging, and power consumption.

[0377] The display unit 6040 can be used to display information input by the user or information provided to the user, as well as various menus of the electronic device 6000. In this embodiment, it is mainly used to display the display interfaces of various applications in the electronic device 6000, as well as text, images, and other objects displayed on the display interfaces. The display unit 6040 may include a display panel 6041. The display panel 6041 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.

[0378] The input unit 6050 can be used to receive information such as numbers or characters input by the user. The input unit 6050 may include a touch panel 6051 and other input devices 6052. The touch panel 6051, also known as a touch screen, can collect touch operations on or near the touch panel 6051 by the user (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel 6051).

[0379] Specifically, the touch panel 6051 can detect user touch operations and the signals generated by these operations, convert them into touch point coordinates, send them to the processor 6010, and receive and execute commands from the processor 6010. Furthermore, the touch panel 6051 can be implemented using various types of touch technologies, including resistive, capacitive, infrared, and surface acoustic wave. Other input devices 6052 can include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.

[0380] Of course, the touch panel 6051 can cover the display panel 6041. When the touch panel 6051 detects a touch operation on or near it, it transmits the information to the processor 6010 to determine the type of touch event. Subsequently, the processor 6010 provides corresponding visual output on the display panel 6041 based on the type of touch event. Although in Figure 6 In this embodiment, the touch panel 6051 and the display panel 6041 are two separate components to realize the input and output functions of the electronic device 6000. However, in some embodiments, the touch panel 6051 and the display panel 6041 can be integrated to realize the input and output functions of the electronic device 6000.

[0381] The electronic device 6000 may also include one or more sensors, such as a pressure sensor, a gravity acceleration sensor, a proximity sensor, etc. Of course, depending on the specific application, the electronic device 6000 may also include other components such as a camera. Since these components are not the focus of this application embodiment, therefore... Figure 6 It is not shown in the text and will not be described in detail here.

[0382] Those skilled in the art will understand that Figure 6 This is merely an example of an electronic device and does not constitute a limitation on the electronic device. It may include more or fewer components than shown, or a combination of certain components, or different components.

[0383] For ease of description, the above sections are divided into modules (or units) according to their functions and described separately. Of course, in implementing this application, the functions of each module (or unit) can be implemented in one or more software or hardware components.

Claims

1. A method for screen display, characterized in that, The method includes: When an anti-motion sickness event is detected, the target graphic element is displayed on the screen of the target device. Based on the gravitational acceleration and linear acceleration of the target device, the linear acceleration is decomposed to obtain the motion acceleration components; The movement speed of the target graphic element on the screen is determined based on the motion acceleration component; the speed value of the movement speed is positively correlated with the speed value of the motion acceleration component, and the direction of the movement speed is opposite to the direction of the motion acceleration component. The target graphic element is controlled to move on the screen according to the stated movement speed.

2. The method according to claim 1, characterized in that, The gravitational acceleration is (gx, gy, gz), and the motion acceleration components include a first acceleration component and a second acceleration component. The step of decomposing the linear acceleration based on the gravitational acceleration and linear acceleration of the target device to obtain motion acceleration components includes: The first acceleration component is obtained based on the projection of the linear acceleration onto the (gx, gz) plane; The second acceleration component is obtained based on the projection of the linear acceleration onto the (gy, gz) plane.

3. The method according to claim 2, characterized in that, Determining the movement speed of the target graphic element on the screen based on the motion acceleration component includes: When there are multiple linear accelerations, an updated first motion count value is obtained based on the first average value of multiple first acceleration components and the current first motion count value; wherein, the first motion count value represents the persistence of the motion trend in the direction corresponding to the first acceleration component, and the initial value of the first motion count value is 0; The first acceleration trend is determined based on the first average value and the updated first motion count value; An updated second motion count value is obtained based on a second average value of multiple second acceleration components and the current second motion count value; wherein the second motion count value represents the persistence of the motion trend in the direction corresponding to the second acceleration component, and the initial value of the second motion count value is 0; The second acceleration trend is determined based on the second average value and the updated second motion count value; The moving speed is determined based on the current screen orientation, the first acceleration trend, and the second acceleration trend.

4. The method according to claim 3, characterized in that, Before determining the first acceleration trend, the method further includes: Use any one of the following: If the first average value is greater than zero, and the number of acceleration components with a value greater than zero in each first acceleration component is less than the first quantity threshold, then the first average value is adjusted to 0. If the first average value is less than zero, and the number of acceleration components less than zero in each first acceleration component is less than the second quantity threshold, then the first average value is adjusted to 0. If the second average value is greater than zero, and the number of acceleration components with a value greater than zero in each second acceleration component is less than the third quantity threshold, then the second average value is adjusted to 0. If the second average value is less than zero, and the number of acceleration components less than zero in each second acceleration component is less than the fourth quantity threshold, then the second average value is adjusted to 0.

5. The method according to claim 3 or 4, characterized in that, The process of obtaining an updated first motion count value based on a first average of multiple first acceleration components and the current first motion count value includes: Use any one of the following: If the current first motion count value is not lower than zero and the first average value is greater than zero, then the current first motion count value will be increased. If the current first motion count value is not lower than zero and the first average value is not greater than zero, then the current first motion count value is updated to the first set value; the first set value is less than zero. If the current first motion count value is below zero and the first average value is less than zero, then the current first motion count value is reduced. If the current first motion count value is lower than zero and the first average value is not less than zero, then the current first motion count value is updated to the second set value; the second set value is greater than zero.

6. The method according to claim 3 or 4, characterized in that, The step of obtaining the updated second motion count value based on the second average value of multiple second acceleration components and the current second motion count value includes: Use any one of the following: If the current second motion count value is not lower than zero and the second average value is greater than zero, then the current second motion count value will be increased. If the current second motion count value is not lower than zero and the second average value is not greater than zero, then the current second motion count value is updated to the first set value; the first set value is less than zero. If the current second motion count value is below zero and the second average value is less than zero, then the current second motion count value will be reduced. If the current second motion count value is lower than zero and the second average value is not less than zero, then the current second motion count value is updated to the second set value; the second set value is greater than zero.

7. The method according to claim 3 or 4, characterized in that, Determining the first acceleration trend based on the first average value and the updated first motion count value includes: The absolute value of the updated first motion count value is adjusted according to the adjustment coefficient to obtain the first adjustment result; The first acceleration trend is obtained by multiplying the first adjustment result and the first average value; wherein the first acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

8. The method according to claim 3 or 4, characterized in that, Determining the second acceleration trend based on the second average value and the updated second motion count value includes: The absolute value of the updated second motion count is adjusted according to the adjustment coefficient to obtain the second adjustment result; The second acceleration trend is obtained by multiplying the second adjustment result and the second average value; wherein the second acceleration trend is not lower than the first trend threshold and not higher than the second trend threshold.

9. The method according to claim 3 or 4, characterized in that, Determining the moving speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend includes: If the screen orientation is the first screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity. The first velocity is defined as the first velocity component of the moving velocity in the first direction of motion; Based on the aforementioned correspondence, the second velocity corresponding to the second acceleration trend is determined respectively; The second speed is defined as the second moving speed component in the second direction of motion.

10. The method according to claim 3 or 4, characterized in that, Determining the moving speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend includes: If the screen orientation is the second screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity. The reverse velocity of the first velocity is determined as the first velocity component of the moving velocity in the first direction of motion; Based on the aforementioned correspondence, the second velocity corresponding to the second acceleration trend is determined respectively; The reverse velocity of the second velocity is determined as the second velocity component of the moving velocity in the second direction of motion.

11. The method according to claim 3 or 4, characterized in that, Determining the moving speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend includes: If the screen orientation is the third screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity. The first velocity is determined as the second velocity component of the moving velocity in the second direction of motion; Based on the aforementioned correspondence, the second velocity corresponding to the second acceleration trend is determined respectively; The reverse velocity of the second velocity is determined as the first velocity component of the moving velocity in the first direction of motion.

12. The method according to claim 3 or 4, characterized in that, Determining the moving speed based on the current screen orientation, the first acceleration trend, and the second acceleration trend includes: If the screen orientation is the fourth screen orientation, then the first velocity corresponding to the first acceleration trend is determined according to the correspondence between the acceleration trend and the velocity. The reverse velocity of the first velocity is determined as the second velocity component of the moving velocity in the second direction of motion; Based on the aforementioned correspondence, the second velocity corresponding to the second acceleration trend is determined respectively; The second speed is determined as the first moving speed component in the first direction of motion.

13. The method according to any one of claims 1-4, characterized in that, The target graphic element is at least one; the method further includes: For each target graphic element, perform the following steps: The pixel values ​​of each pixel within a specified range surrounding the target graphic element are acquired in real time. The weighted sum of each pixel value is obtained by summing the values ​​in a weighted manner. The weighted sum is then inverted to obtain the target pixel value. Update the pixel value of the target graphic element to the target pixel value.

14. The method according to claim 3 or 4, characterized in that, The method further includes: The number of target graphic elements is adjusted based on at least one of the first acceleration trend and the second acceleration trend; the number of target graphic elements is positively correlated with the first acceleration trend or the second acceleration trend.

15. A screen display device, characterized in that, The device includes: Display unit: When an anti-motion sickness event is detected, display the target graphic elements on the screen of the target device; The decomposition unit is used to decompose the linear acceleration based on the gravitational acceleration and linear acceleration of the target device to obtain the motion acceleration components; The determining unit is configured to determine the moving speed of the target graphic element on the screen based on the motion acceleration component; the speed value of the moving speed is positively correlated with the speed value of the motion acceleration component, and the direction of the moving speed is opposite to the direction of the motion acceleration component; A movement unit is used to control the target graphic element to move within the screen according to the movement speed.

16. An electronic device, characterized in that, include: processor; as well as A memory storing computer instructions for causing the processor to perform the method according to any one of claims 1 to 14.

17. A computer-readable storage medium, characterized in that, The computer contains computer instructions for causing the computer to perform the method described in any one of claims 1 to 14.

18. A computer program product, characterized in that, Includes computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is executed in a processor of an electronic device, the processor in the electronic device performs the method according to any one of claims 1 to 14.