Disclosure of Invention
In view of the above, an object of the present invention is to provide a method and an apparatus for controlling a screen-projecting frame rate, and a computer-readable storage medium, which are used to solve the problem that when the existing screen-projecting frame rate is always stabilized in a 60HZ scheme, a screen-projecting severe stuck phenomenon is caused under a poor network condition, and a user experience is seriously affected.
The technical scheme adopted by the invention for solving the technical problems is as follows:
the first aspect of the present invention provides a method for controlling a screen-projecting frame rate, comprising the steps of:
the mobile phone end dynamically calculates the frame loading condition of each layer on the current mobile phone;
defining a scalar flag at the surfaceflag layer, and marking the screen projection according to the upper frame condition of which layer by the scalar flag;
and according to the actual screen projection frame rate determined by the set flag value, dynamically controlling the frame-loading condition of the screen projection frame rate to synthesize the image.
In some embodiments, the dynamically calculating, by the mobile phone end, the last frame condition of each layer on the current mobile phone includes:
when a Vysnc signal comes, judging a layer where the small circle point is located according to the small circle point title, and counting the number of the small circle point to be numA + + if the small circle point is in a frame; when other layer layers have upper frames, the numB + + statistical operation is realized;
wherein, the numA mark is in the statistical range, when the Vyscn comes, the small round point layer has the upper frame, and the statistical value is marked;
numB marks are within the statistical range, and when Vyscn arrives, other layer layers have upper frames and mark statistics.
In some embodiments, the defining a scalar flag at the surfaceflag layer, and the scalar flag is used to mark which layer is projected according to the upper frame condition thereof includes the following steps:
comparing the upper frame data statistic numA of the layer where the small round points are located with the upper frame data statistic numB of other layer to determine the actual screen projection frame rate;
and when the numA is greater than numB, judging that the frame uploading speed of the layer where the small circle point is located is higher than that of other layers, setting the flag to true, and then, enabling the screen-throwing frame rate to throw the screen according to the frame uploading speeds of other layers.
In some embodiments, the method further comprises the steps of:
and when the numA is less than numB, judging that the frame-loading speeds of other layer layers are faster than the frame-loading speed of the layer where the small circle point is located, setting the flag as false, and projecting the screen according to the frame-loading speed of the layer where the small circle point is located.
In some embodiments, the screen frame rate of the upper frame rate of the layer where the small dots are located is 60 HZ.
The second aspect of the present invention further provides a screen-projecting frame rate control device, which includes a frame-loading condition calculation module, a screen-projecting frame rate determination module, and an actual screen-projecting output module, which are connected to each other;
the frame loading condition calculation module is used for dynamically calculating the frame loading condition of each layer on the current mobile phone at the mobile phone end;
the screen-projecting frame rate determining module is used for defining a scalar flag at the surfefringer layer, and determining the screen-projecting frame rate by marking the scalar flag;
and the actual screen projection output unit is used for controlling the frame-last condition of the screen projection frame rate to synthesize the image according to the actual screen projection frame rate determined by the set flag value.
In some embodiments, the screen projection frame rate determination module includes a frame data statistics unit, a flag setting unit, and a screen projection frame rate determination unit;
the upper frame data statistical unit is used for counting the upper frame data statistical value numA of the layer where the small round point is located and the upper frame data statistical value numB of other layer;
the flag setting unit is used for determining the setting of a flag according to the comparison of the sizes of the numA data and the numB data;
the screen projection frame rate determining unit projects the screen according to the frame loading speeds of other layers when the flag is set to true; and when the flag is set to false, projecting the screen according to the upper frame rate of the layer where the small circle point is located.
In some embodiments, the screen frame rate of the upper frame rate of the layer where the small dots are located is 60 HZ.
The present application also provides a computer-readable storage medium comprising a processor, a computer-readable storage medium and a computer program stored on the computer-readable storage medium, which computer program, when executed by the processor, performs the steps of the method as described above.
Compared with the prior art that the screen projection frame rate can only be stabilized under a 60HZ scheme for screen projection, the screen projection is seriously blocked under the condition of poor network, and the user experience degree is extremely poor, the screen projection frame rate control method, the device and the computer provided by the embodiment of the invention can store a medium, realize that the screen projection frame rate of actual screen projection is continuously and dynamically adjusted by dynamically calculating the frame loading condition of each layer on the current mobile phone, realize that the screen projection frame rate of screen projection is controlled to be 60HZ according to the screen projection frame rate when the refresh screen projection frame rate of the mobile phone application is higher than 60HZ, and control the screen projection according to the low screen projection frame rate when the refresh screen projection frame rate of the mobile phone application is lower than 60HZ, and correspondingly reduce the screen projection frame rate of the projected picture. Therefore, the method can realize the control of the high frame of the screen, and simultaneously also considers the screen-throwing scene of the low-brush application, so that the screen-throwing effect is better and smooth, the phenomenon of pause can be avoided even under the condition of poor network state, and the experience of the user is greatly improved.
Detailed Description
In order to make the technical problems, technical solutions and advantageous effects to be solved by the present invention clearer and clearer, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In the following description, suffixes such as "module", "component", or "unit" used to denote elements are used only for facilitating the explanation of the present invention, and have no specific meaning in itself. Thus, "module", "component" or "unit" may be used mixedly.
The terminal may be implemented in various forms. For example, the terminal described in the present invention may include a mobile terminal such as a mobile phone, a tablet computer, a notebook computer, a palmtop computer, a Personal Digital Assistant (PDA), a Portable Media Player (PMP), a navigation device, a wearable device, a smart band, a pedometer, and the like, and a fixed terminal such as a Digital TV, a desktop computer, and the like.
The following description will be given by way of example of a mobile terminal, and it will be understood by those skilled in the art that the construction according to the embodiment of the present invention can be applied to a fixed type terminal, in addition to elements particularly used for mobile purposes.
Referring to fig. 1, which is a schematic diagram of a hardware structure of a mobile terminal for implementing various embodiments of the present invention, themobile terminal 100 may include: RF (Radio Frequency)unit 101,WiFi module 102,audio output unit 103, a/V (audio/video)input unit 104,sensor 105,display unit 106,user input unit 107,interface unit 108,memory 109,processor 110, andpower supply 111. Those skilled in the art will appreciate that the mobile terminal architecture shown in fig. 1 is not intended to be limiting of mobile terminals, which may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
The following describes each component of the mobile terminal in detail with reference to fig. 1:
theradio frequency unit 101 may be configured to receive and transmit signals during information transmission and reception or during a call, and specifically, receive downlink information of a base station and then process the downlink information to theprocessor 110; in addition, the uplink data is transmitted to the base station. Typically,radio frequency unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, theradio frequency unit 101 can also communicate with a network and other devices through wireless communication. The wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System for Mobile communications), GPRS (General Packet Radio Service), CDMA2000(Code Division Multiple Access 2000), WCDMA (Wideband Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access), FDD-LTE (Frequency Division duplex Long Term Evolution), and TDD-LTE (Time Division duplex Long Term Evolution).
WiFi belongs to short-distance wireless transmission technology, and the mobile terminal can help a user to receive and send e-mails, browse webpages, access streaming media and the like through theWiFi module 102, and provides wireless broadband internet access for the user. Although fig. 1 shows theWiFi module 102, it is understood that it does not belong to the essential constitution of the mobile terminal, and may be omitted entirely as needed within the scope not changing the essence of the invention.
Theaudio output unit 103 may convert audio data received by theradio frequency unit 101 or theWiFi module 102 or stored in thememory 109 into an audio signal and output as sound when themobile terminal 100 is in a call signal reception mode, a call mode, a recording mode, a voice recognition mode, a broadcast reception mode, or the like. Also, theaudio output unit 103 may also provide audio output related to a specific function performed by the mobile terminal 100 (e.g., a call signal reception sound, a message reception sound, etc.). Theaudio output unit 103 may include a speaker, a buzzer, and the like.
The a/V input unit 104 is used to receive audio or video signals. The a/V input Unit 104 may include a Graphics Processing Unit (GPU) 1041 and amicrophone 1042, theGraphics processor 1041 Processing image data of still pictures or video obtained by an image capturing device (e.g., a camera) in a video capturing mode or an image capturing mode. The processed image frames may be displayed on thedisplay unit 106. The image frames processed by thegraphic processor 1041 may be stored in the memory 109 (or other storage medium) or transmitted via theradio frequency unit 101 or theWiFi module 102. Themicrophone 1042 may receive sounds (audio data) via themicrophone 1042 in a phone call mode, a recording mode, a voice recognition mode, or the like, and may be capable of processing such sounds into audio data. The processed audio (voice) data may be converted into a format output transmittable to a mobile communication base station via theradio frequency unit 101 in case of a phone call mode. Themicrophone 1042 may implement various types of noise cancellation (or suppression) algorithms to cancel (or suppress) noise or interference generated in the course of receiving and transmitting audio signals.
Themobile terminal 100 also includes at least onesensor 105, such as a light sensor, motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor that can adjust the brightness of thedisplay panel 1061 according to the brightness of ambient light, and a proximity sensor that can turn off thedisplay panel 1061 and/or a backlight when themobile terminal 100 is moved to the ear. As one of the motion sensors, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally, three axes), can detect the magnitude and direction of gravity when stationary, and can be used for applications of recognizing the posture of a mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer and tapping), and the like; the mobile phone can also be configured with other sensors such as fingerprint sensor, pressure sensor, iris sensor, molecular sensor, gyroscope, barometer, hygrometer, thermometer, infrared sensor, etc., which are not described in detail herein.
Thedisplay unit 106 is used to display information input by a user or information provided to the user. TheDisplay unit 106 may include aDisplay panel 1061, and theDisplay panel 1061 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like.
Theuser input unit 107 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the mobile terminal. In particular, theuser input unit 107 may include atouch panel 1071 andother input devices 1072. Thetouch panel 1071, also referred to as a touch screen, may collect a touch operation performed by a user on or near the touch panel 1071 (e.g., an operation performed by the user on or near thetouch panel 1071 using a finger, a stylus, or any other suitable object or accessory), and drive a corresponding connection device according to a predetermined program. Thetouch panel 1071 may include two parts of a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to theprocessor 110, and can receive and execute commands sent by theprocessor 110. In addition, thetouch panel 1071 may be implemented in various types, such as a resistive type, a capacitive type, an infrared ray, and a surface acoustic wave. In addition to thetouch panel 1071, theuser input unit 107 may includeother input devices 1072. In particular,other input devices 1072 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like, and are not limited to these specific examples.
Further, thetouch panel 1071 may cover thedisplay panel 1061, and when thetouch panel 1071 detects a touch operation thereon or nearby, thetouch panel 1071 transmits the touch operation to theprocessor 110 to determine the type of the touch event, and then theprocessor 110 provides a corresponding visual output on thedisplay panel 1061 according to the type of the touch event. Although thetouch panel 1071 and thedisplay panel 1061 are shown in fig. 1 as two separate components to implement the input and output functions of the mobile terminal, in some embodiments, thetouch panel 1071 and thedisplay panel 1061 may be integrated to implement the input and output functions of the mobile terminal, and is not limited herein.
Theinterface unit 108 serves as an interface through which at least one external device is connected to themobile terminal 100. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device having an identification module, an audio input/output (I/O) port, a video I/O port, an earphone port, and the like. Theinterface unit 108 may be used to receive input (e.g., data information, power, etc.) from external devices and transmit the received input to one or more elements within themobile terminal 100 or may be used to transmit data between themobile terminal 100 and external devices.
Thememory 109 may be used to store software programs as well as various data. Thememory 109 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. Further, thememory 109 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
Theprocessor 110 is a control center of the mobile terminal, connects various parts of the entire mobile terminal using various interfaces and lines, and performs various functions of the mobile terminal and processes data by operating or executing software programs and/or modules stored in thememory 109 and calling data stored in thememory 109, thereby performing overall monitoring of the mobile terminal.Processor 110 may include one or more processing units; preferably, theprocessor 110 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into theprocessor 110.
Themobile terminal 100 may further include a power supply 111 (e.g., a battery) for supplying power to various components, and preferably, thepower supply 111 may be logically connected to theprocessor 110 via a power management system, so as to manage charging, discharging, and power consumption management functions via the power management system.
Although not shown in fig. 1, themobile terminal 100 may further include a bluetooth module or the like, which is not described in detail herein.
In order to facilitate understanding of the embodiments of the present invention, a communication network system on which the mobile terminal of the present invention is based is described below.
Referring to fig. 2, fig. 2 is an architecture diagram of a communication Network system according to an embodiment of the present invention, where the communication Network system is an LTE system of a universal mobile telecommunications technology, and the LTE system includes a UE (User Equipment) 201, an E-UTRAN (Evolved UMTS Terrestrial Radio Access Network) 202, an EPC (Evolved Packet Core) 203, and anIP service 204 of an operator, which are in communication connection in sequence.
Specifically, the UE201 may be the terminal 100 described above, and is not described herein again.
The E-UTRAN202 includes eNodeB2021 andother eNodeBs 2022, among others. Among them, the eNodeB2021 may be connected with other eNodeB2022 through backhaul (e.g., X2 interface), the eNodeB2021 is connected to the EPC203, and the eNodeB2021 may provide the UE201 access to theEPC 203.
The EPC203 may include an MME (Mobility Management Entity) 2031, an HSS (Home Subscriber Server) 2032,other MMEs 2033, an SGW (Serving gateway) 2034, a PGW (PDN gateway) 2035, and a PCRF (Policy and Charging Rules Function) 2036, and the like. The MME2031 is a control node that handles signaling between the UE201 and the EPC203, and provides bearer and connection management. HSS2032 is used to provide registers to manage functions such as home location register (not shown) and holds subscriber specific information about service characteristics, data rates, etc. All user data may be sent through SGW2034, PGW2035 may provide IP address assignment for UE201 and other functions, and PCRF2036 is a policy and charging control policy decision point for traffic data flow and IP bearer resources, which selects and provides available policy and charging control decisions for a policy and charging enforcement function (not shown).
TheIP services 204 may include the internet, intranets, IMS (IP Multimedia Subsystem), or other IP services, among others.
Although the LTE system is described as an example, it should be understood by those skilled in the art that the present invention is not limited to the LTE system, but may also be applied to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, and future new network systems.
Based on the above mobile terminal hardware structure and communication network system, the present invention provides various embodiments of the method.
The first embodiment is as follows:
referring to fig. 3 and 4, the method for controlling a screen frame rate specifically includes the following steps:
s301, dynamically calculating the frame loading condition of each layer on the current mobile phone by the mobile phone terminal;
specifically, under normal conditions, when the screen projection is started, the mobile phone pops up a small dot of a pixel, the name title of the small dot is a window of a, and the frame-up frame projection frame rate of the small dot is stabilized at 60HZ according to a Vsync (frame synchronization) signal of the current mobile phone. In this embodiment, when a Vysnc (frame synchronization) signal comes, a layer where a small circle point is located is determined according to a small circle point title, if the small circle point is counted as numA + + (numA marks are in a statistical range, when Vyscn comes this time, the small circle point layer has a previous frame and marks a statistical value), and when other layer has a previous frame, a numB + + statistical operation is performed (numB marks are in a statistical range, and when Vyscn comes this time, other layer has a previous frame and marks a statistical value).
S302, a scalar flag is defined in the surfaceflag layer, and the scalar flag is used for marking the screen projection according to the upper frame condition of which layer.
The method specifically comprises the following steps:
s3021, comparing the upper frame data statistic numA of the layer where the small circle is located with the upper frame data statistic numB of other layer to determine the actual screen projection frame rate;
s3022, when the numA is greater than numB, judging that the frame uploading speed of the layer where the small circle point is located is faster than that of other layers, setting the flag to true at the moment, and executing the step S3023;
s3023, projecting the screen according to the frame-loading schemes of other layers; at the moment, the screen projection frame rate projects the screen according to the frame loading speeds of other layers;
s3024, when the numA is less than numB, judging that the frame-loading speeds of other layer layers are faster than the frame-loading speed of the layer where the small circle point is located, setting the flag to false at the moment, and executing the step S3025;
s3025, projecting the screen according to the upper frame rate (60HZ) of the layer where the small circle point is located.
S303, during image synthesis, according to the actual screen projection frame rate determined by the set flag value, performing dynamic control on the frame-up condition of the screen projection frame rate to perform image synthesis.
Specifically, the actual screen projection frame rate is determined according to the set flag value, when the flag is false, the screen projection is performed according to the frame-up speed (60HZ) of the layer where the small circle point is located, and when the flag is true, the screen projection is performed according to the frame-up schemes of other layers.
According to the screen projecting frame rate control method, the screen projecting frame rate of actual screen projection is continuously and dynamically adjusted by dynamically calculating the frame loading condition of each layer on the current mobile phone, when the refreshing screen projecting frame rate of the application at the mobile phone end is higher than 60HZ, screen projection is performed according to the screen projecting frame rate of 60HZ, when the refreshing screen projecting frame rate of the application at the mobile phone end is lower than 60HZ, screen projection is performed according to the low screen projecting frame rate, and the screen projecting frame rate is correspondingly reduced by the projected picture. Therefore, the method can realize the control of the high frame of the screen, and simultaneously also considers the screen-throwing scene of the low-brush application, so that the screen-throwing effect is better and smooth, the phenomenon of pause can be avoided even under the condition of poor network state, and the experience of the user is greatly improved.
Example two:
the embodiment of the present application provides a screen projection frame rate control device, which implements the screen projection frame rate control method according to the first embodiment. Referring to fig. 5 and 6, the screen projection frame rate control device includes a previous frame condition calculating module 51, a screen projection frame rate determining module 52, and an actual screen projection output module 53 connected to each other.
The frame-loading condition calculating module 51 is configured to dynamically calculate a frame-loading condition of each layer on the current mobile phone at the mobile phone end.
The screen frame rate determining module 52 is configured to define a scalar flag at the surfaceflicker layer, and the scalar flag is used to flag the screen frame rate determining module.
The screen frame rate determination module 52 includes an upper frame data statistics unit 521, aflag setting unit 522, and a screen frame rate determination unit 523.
The upper frame data statistics unit 521 is configured to count an upper frame data statistics value numA of the layer where the small dots are located and an upper frame data statistics value numB of other layer;
theflag setting unit 522 is configured to determine a set flag according to the size of the compared numA data and numB data.
Specifically, when numA is greater than numB, the frame-loading speed of the layer where the small circle point is located is judged to be faster than the frame-loading speeds of other layers, and at this time, flag is set to true;
and when numA is less than numB, judging that the frame uploading speed of other layer layers is faster than that of the layer with the small circle point, and setting flag as false.
The screen casting frame rate determining unit 523 casts the screen according to the frame loading speeds of other layers when the flag is set to true; when the flag is set to false, the screen is projected according to the upper frame rate (60HZ) of the layer where the small dots are located.
And the actual screen projection output unit 53 performs image synthesis by controlling the frame-previous condition of the screen projection frame rate according to the actual screen projection frame rate determined by the set flag value.
According to the embodiment of the application, the screen-casting frame rate control device dynamically calculates the frame-casting condition of each layer on the current mobile phone through the frame-casting condition calculation module 51, and realizes that the screen-casting frame rate of actually casting the screen is continuously and dynamically adjusted, and the screen-casting frame rate is continuously and dynamically adjusted, so that when the refresh screen-casting frame rate of the mobile phone application is higher than 60HZ through the screen-casting frame rate determination module 52, the screen-casting is controlled to be performed according to the screen-casting frame rate of 60HZ, and when the refresh screen-casting frame rate of the mobile phone application is lower than 60HZ, the screen-casting is controlled to be performed according to the low screen-casting frame rate. Therefore, the method can realize the control of the high frame of the screen, and simultaneously also considers the screen-throwing scene of the low-brush application, so that the screen-throwing effect is better and smooth, the phenomenon of pause can be avoided even under the condition of poor network state, and the experience of the user is greatly improved.
Example three:
according to an embodiment of the present invention, a computer-readable storage medium is provided, on which a computer program is stored, and the computer program, when executed by a processor, implements the steps in the broadcast sending method, where the specific steps are as described in the first embodiment, and are not described herein again.
The memory in the present embodiment may be used to store software programs as well as various data. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function, and the like; the storage data area may store data created according to the use of the mobile phone, and the like. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
According to an example of this embodiment, all or part of the processes in the methods of the embodiments described above may be implemented by a computer program to instruct related hardware, where the program may be stored in a computer-readable storage medium, and in this embodiment of the present invention, the program may be stored in the storage medium of a computer system and executed by at least one processor in the computer system, so as to implement the processes including the embodiments of the methods described above. The storage medium includes, but is not limited to, a magnetic disk, a flash disk, an optical disk, a Read-Only Memory (ROM), and the like.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.