User scenario classifier method and system

WO2026174578A1PCT designated stage Publication Date: 2026-08-27QUALCOMM INC +11
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/078717
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-24
Publication Date
2026-08-27

Smart Images

  • Figure CN2025078717_27082026_PF_FP_ABST
    Figure CN2025078717_27082026_PF_FP_ABST
Patent Text Reader

Abstract

User scenario classification in a computing device may include collecting, by a data collector within a user scenario classifier, a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios; classifying, by a trained model classifier within the user scenario classifier, the plurality of user scenarios into classes based on the collected user scenario system KPI parameters; and providing, by the user scenario classifier, the user scenario classifications for system optimization of the computing device for future user scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

USER SCENARIO CLASSIFIER METHOD AND SYSTEMDESCRIPTION OF THE RELATED ART

[0001] A computing device may include components such as processors, cores, memory, logic circuitry, subsystems, input and output components, etc. Such a computing device may be, for example, a mobile or portable computing device, such as a laptop or palmtop computer, a cellular telephone or smartphone, a cellular handset, an Internet-of-Things (IOT) device, a wearable device, an automotive computing device, etc. The multiple subsystems, cores and other components of a mobile computing device may be included within different chips or in the same integrated circuit chip. A “system-on-chip” or “SoC” is an example of one such chip that integrates numerous components to provide system-level functionality. For example, an SoC may include one or more types of processors, such as central processing units (CPUs) , graphics processing units (GPUs) , digital signal processors (DSPs) , neural processing units (NPUs) , etc.

[0002] With regard to mobile computing devices, the ability to accurately identify and classify user scenarios, i.e., the sequential steps involved in an interaction by a user with the mobile computing device to complete a specific function, is critical in the system level design and optimization of key performance parameters of the mobile computing device. For example, key performance parameters such as power consumption, thermal control, performance tuning, game optimizing, and test coverage design can benefit greatly from the ability to identify and classify user scenarios.

[0003] The ability to accurately identify and classify user scenarios in a mobile computing device can assist the mobile computing device in dynamically setting profile parameters to obtain better system balance between device performance and power consumption. For example, in a video calling application, more accurately and precisely identifying and classifying user scenarios in a mobile computing device can help the mobile computing device set proper values to various specific system nodes to keep the system in a lower power state while rendering a video stream in the foreground. In a gaming application, identifying and classifying user scenarios with a finer granularity than conventional methods can allow for the application of various optimization parameters to boost system performance without attendant high power consumption. In general, identifying and classifying user scenarios in a mobile computing device can allow the systems within the mobile computing device to be in an optimized state, regardless of the application being deployed.

[0004] Conventionally, the identification and classification of user scenarios are based on the name of the application package being deployed. Applications typically are classified only once during the installation of the application package, e.g., whether the installed application is a gaming or non-gaming type of application. This initial classification information is stored in a database and subsequently retrieved for system performance optimization in a workload area when the particular application is invoked.

[0005] However, various issues exist with conventional methods of user scenario classification. Merely using the application package name for user scenario classification often is not accurate enough to recognize the differentiation of system behaviors of different user scenarios within the same application package. For example, application functions such as sending messages, browsing, watching video content, or performing voice or video calls typically should be treated differently for overall device performance optimization. Conventional user scenario classification methods can only optimize applications based on the initial user scenario classification rendered at application installation. Furthermore, conventionally, there are relatively few user scenario classification types, which typically results in a relatively coarse granularity of device performance optimization options, thus lacking the necessary specificity and flexibility needed for current application functions being deployed within the mobile computing device. SUMMARY OF THE DISCLOSURE

[0006] Systems, methods, and other examples of user scenario classification in a computing device are disclosed.

[0007] An exemplary method for user scenario classification in a computing device may include collecting, by a data collector within a user scenario classifier, a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios. The method may still further include classifying, by a trained model classifier within the user scenario classifier, the plurality of user scenarios into classes based on the collected user scenario system KPI parameters. The method may still further include providing, by the user scenario classifier, the user scenario classifications for system optimization of the computing device for future user scenarios.

[0008] An exemplary system for user scenario classification in a computing device may include a data collector and a trained model classifier. The data collector may be configured to collect a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios and to construct a dataset based on the collected user scenario system KPI parameters. The trained model classifier may be configured to classify the plurality of user scenarios into classes based on the dataset. The user scenario classifications are provided for system optimization of the computing device for future user scenarios.

[0009] An exemplary system-on-a-chip (SoC) may include at least one processor and a user scenario classifier having a data collector and a trained model classifier. The data collector may be configured to collect a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios and to construct a dataset based on the collected user scenario system KPI parameters. The trained model classifier may be configured to classify the plurality of user scenarios into classes based on the dataset. The user scenario classifier may be configured to provide user scenario classifications for system optimization of the computing device for future user scenarios.BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In the Figures, like reference numerals refer to like parts throughout the various views unless otherwise indicated. For reference numerals with letter character designations such as “101A” or “101B” , the letter character designations may differentiate two like parts or elements present in the same Figure. Letter character designations for reference numerals may be omitted when it is intended that a reference numeral encompass all parts having the same reference numeral in all Figures.

[0011] FIG. 1 is a block diagram of a user scenario classifier in a computing device, in accordance with exemplary embodiments.

[0012] FIG. 2 is a schematic diagram of the user scenario classifier in FIG. 1, in accordance with exemplary embodiments.

[0013] FIG. 3 is a schematic diagram of the data collection and dataset construction features of the user scenario classifier in FIG. 1, in accordance with exemplary embodiments.

[0014] FIG. 4 is a schematic diagram of the user scenario classifier feature of the trained model classifier in FIG. 2, in accordance with exemplary embodiments.

[0015] FIG. 5 is a flow diagram illustrating a method for user scenario classification in a computing device, in accordance with exemplary embodiments.

[0016] FIG. 6 is a block diagram of a portable computing device having a user scenario classifier, in accordance with exemplary embodiments.DETAILED DESCRIPTION

[0017] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration. ” The word “illustrative” may be used herein synonymously with “exemplary. ” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0018] As shown in FIG. 1, in an illustrative or exemplary embodiment a computing system 100 such as a mobile computing device may include a system-on-a-chip (SoC) 102, a memory 104, and a power supply, such as a battery 105 for mobile computing devices. The memory 104 may be a double data rate synchronous dynamic random-access memory (DDR or DDR SDRAM) device. Although in the illustrated example the memory 104 is external to the SoC 102, in other examples (not shown) such a memory may be internal to (i.e., included in) such an SoC. The SoC 102 may include any number of processing subsystems, such as, for example, a central processing unit (CPU) subsystem 106 and a graphics processing unit (GPU) 108.

[0019] In addition to the foregoing components, the SoC 102 may include a user scenario classifier 110, in accordance with exemplary embodiments. The user scenario classifier 110 may be configured to identify and classify user scenarios. A user scenario is the sequential steps involved in the interaction of the user with the computing system 100. For example, for a user making a voice call in an instant messaging application, the user scenario may include the following: open the instant messaging application, select a voice call recipient, make a voice call, and terminate the voice call. For a user scrolling a browser application to play a video, the user scenario may include the following: open the browser application, play a video, scroll to the next video, play the next video, terminate the browser application. Although in the illustrated example, the user scenario classifier 110 is included in the SoC 102, in other examples (not shown) such a user scenario classifier 110 may be separate from such an SoC.

[0020] As discussed hereinabove, the ability to accurately identify and classify user scenarios in a computing system can assist the computing system in dynamically setting profile parameters to obtain better system balance between system performance and power consumption. User scenario identification and classification occurs only once, during the installation of the application package, and typically based on the name of the installed application has drawbacks. This sole, initial user scenario identification and classification often is not accurate enough to recognize the differentiation of system behaviors of different user scenarios within the same application package.

[0021] In accordance with exemplary embodiments, the user scenario classifier 110 is configured to accurately identify, distinguish and classify high level user scenarios within the computing system 100 using a trained model approach. The user scenario classifier 110 maps high level user scenarios to the low level system key performance indicator (KPI) parameters of the computing system 100 so that any specific user scenario can be characterized by an array of multi-dimensional system KPI parameters. The different user scenarios, via their corresponding array of multi-dimensional system KPI parameters, are classified using an appropriate trained model. Using this classification scheme, the trained model subsequently is able to infer or classify future user scenarios with appropriate user scenario classifications.

[0022] In FIG. 2, a schematic diagram of the user scenario classifier 110 in FIG. 1 is shown, in accordance with exemplary embodiments. The user scenario classifier 110 includes a data collector 112, which collects user scenario data to generate a dataset 114. The user scenario data can be low level system KPI parameters 116 that characterize various user activities 118, such as user scenarios 122 and user scenes 124. User scenarios 122 typically require some type of user interaction with the computing device, e.g., clicking and / or scrolling, whereas user scenes typically do not require user interaction with the computing device, e.g., playing music or video.

[0023] The user scenario classifier 110 also includes a trained model classifier 126, which can include one or more neural network models or other appropriate models. The trained model classifier 126 uses the contents of the dataset 114 to classify user scenarios into one of a plurality of user scenario classes 128, such as Class 1 (Camera) , Class 2 (Video) , Class 3 (Browser) , Class n (Audio) , etc. The user scenario classifier 110 then provides or returns these user scenario classes to future application clients, i.e., future user activities 118. As discussed hereinabove, the user scenario classes determined by the trained model classifier 126 and provided by the user scenario classifier 110 to the application client (s) can be used to establish and optimize key performance parameters of the computing device 100 for future applications.

[0024] In FIG. 3, a schematic diagram of the data collection and dataset construction features of the user scenario classifier 110 in FIG. 1 is shown, in accordance with exemplary embodiments. The data collector 112 can be a standalone component within the SoC 102, or a service running in the background of the computing system 100 (FIG. 1) , e.g., in any suitable manner. During the occurrence of a user scenario 130 being run by a user (client) , the data collector 112 periodically samples basic or low level system KPI raw data, e.g., by reading system nodes with a configuration rate (e.g., per millisecond) . For example, such KPI raw data can be the running time and usage ratio for the CPU core, the GPU and / or the DDR. Such KPI raw data also can be battery usage, table of processes (top) usage, the load program memory (lpm) rate, the frames per second (fps) rate, and the mean time between failures (mtbf) rate. It should be understood that the data collector 112 can collect other system KPI raw data during the occurrence of a user scenario 130.

[0025] In accordance with exemplary embodiments, any specific user scenario 130 can be characterized by an array 132 of multi-dimensional system KPI parameters collected by the data collector 112. Different user scenarios 130 typically have different system KPI parameter data distributions. Also, for a given user scenario 130, system KPI parameter data distributions can vary during the occurrence of that particular user scenario 130. Therefore, a given user scenario 130 can have multiple system KPI parameter data distributions, as shown. Over time, the data collector 112 builds the array 132 of system KPI raw data that characterizes a plurality of different user scenarios 130.

[0026] Once a suitable array 132 of system KPI raw data has been collected by the data collector 112, the data collector 112 constructs the dataset 114 from the array of KPI raw data. That is, the data collector 112 converts and processes the raw data array 132 to build the dataset 114. For example, for user scenarios that have multiple system KPI parameter data distributions, each system KPI parameter within the data distributions can be averaged to produce a single parameter value for that particular user scenario, e.g., in the form of a multi-dimensional data entry. In accordance with exemplary embodiments, instead of directly using time sequential sampling of the KPI raw data throughout a particular user scenario, all sample entries within one complete user scenario are summed and an average is calculated for each dimension, thereby constructing one single entry for the particular user scenario. In this manner, data deviation in various user scenarios is eliminated.

[0027] For example, as shown in FIG. 3, KPI parameter raw data distribution entries 1-3, all of which characterize User Scenario 1, can be consolidated into a single data distribution entry 1 in the dataset 114. Similarly, KPI parameter raw data distribution entries 4-6, all of which characterize another occurrence of User Scenario 1, can be consolidated into a single data distribution entry 2 in the dataset 114. Also, KPI parameter raw data distribution entries 7-8, all of which characterize User Scenario 2, can be consolidated into a single data distribution entry n+1 in the dataset 114. Also, each data distribution entry in the dataset 114 is given a class label (e.g., Class 1, Class 2, etc. ) based on the user scenario from which the particular data distribution entry was derived. Once the dataset 114 has been constructed, the dataset 114 is available for use by the trained model classifier 126.

[0028] FIG. 4 is a schematic diagram of the user scenario classifier feature of the trained model classifier 126 in FIG. 2, in accordance with exemplary embodiments. The trained model classifier 126 uses the contents of the dataset 114 to classify user scenarios into one of a plurality of user scenario classes 128. The trained model classifier 126 includes one or more neural network models or other appropriate models that can be trained using the contents of the dataset 114 as the model input. The trained model then is able to output, e.g., by inference, appropriate classifications for various user scenarios. For example, the trained model classifier 126 can include an artificial intelligence (AI) neural network model, such as a multilayer perceptron backpropagation (MLB / BP) model.

[0029] As shown in FIG. 4, the contents of the dataset 114 is used as the input to the trained model classifier 126. The neural network models or other appropriate models within the trained model classifier 126 are trained using the contents of the dataset 114. Once trained, the models within the trained model classifier 126 are able to infer, or output, different user scenario classifications. For example, once the models within the trained model classifier 126 are trained, the trained model classifier 126 is able to output various classes 128 (e.g., Class 1, 2, …, n) for different user scenarios 130 (e.g., user scenario 1, user scenario 2, …, user scenario n) .

[0030] In a typical AI neural network (NN) model classifier, a "class" refers to one of the distinct categories or labels that the model is trained to recognize and predict. For example, in an image classification task, if the model is trained to identify different types of animals, the classes might be "cat, " "dog, " "bird, " etc. When the model processes an input (like an image) , the model outputs a probability distribution over all possible classes, indicating the likelihood that the input belongs to each class. The class with the highest probability is usually chosen as the model's prediction. For the user scenario classifier 110, the input is the KPIs and the output classes with probabilities might be: video (2%) , calling (95%) , and browsing (1%) . In this example, the final prediction result would be: calling.

[0031] In the context of a neural network classifier, a "class" typically contains the following information: label, features, training data, probability distribution and decision boundary. The label is the name or identifier of the class (e.g., “cat, ” dog, ” “car, ” etc. ) . The features are the characteristics or attributes that define the class. For example, in image classification, the features might include color, shape, and texture. The training data are examples of data points that belong to the class, and are used to train the model. These examples help the model learn to recognize the class. During prediction, the model outputs a probability for each class, indicating the likelihood that the input belongs to that class. The decision boundary is the model's learned criteria for distinguishing between different classes based on the input features.

[0032] In a neural network classifier, each class corresponds directly to a label or category that the model is trained to recognize. This correspondence involves label assignment, model training, prediction and output. During the data labeling process, each data point in the training set is assigned a specific label that represents its class. For example, in an image classification task, an image of a cat would be labeled as "cat. ” The neural network learns to associate input features with the corresponding labels. During model training, the model adjusts its parameters to minimize the difference between its predictions and the actual labels. When the model processes new, unseen data, the model outputs a probability distribution over all possible classes. The class with the highest probability is chosen as the model's prediction. The predicted class corresponds to the label that the model assigns to the input data. For example, if the model processes an image and predicts the class "dog, " it means the model has identified the image as belonging to the "dog" category. In summary, each class in the model corresponds to a specific label or category that the model uses to classify input data. This relationship is established during the training process and is used to make predictions on new data.

[0033] Training a neural network involves several steps: data preparation, model initialization, forward pass, loss calculation, backward pass (backpropagation) , parameter update, iteration, evaluation, fine-tuning, and deployment. The data preparation step involves collecting and preprocessing the dataset, ensuring the data set is clean and properly labeled. The model initialization step involves defining the architecture of the neural network, including the number of layers, types of layers (e.g., convolutional, recurrent) , and activation functions. The forward pass step involves passing the input data through the network, layer by layer, to generate predictions. The loss calculation step involves computing the loss, which measures the difference between the predicted outputs and the actual labels. Common loss functions include cross-entropy for classification tasks and mean squared error for regression tasks. The backward pass (backpropagation) step involves calculating gradients of the loss with respect to the model's parameters. This step involves propagating the error backward through the network. The parameter update step involves adjusting the model's parameters (weights and biases) using an optimization algorithm like Stochastic Gradient Descent (SGD) or Adam. This step aims to minimize the loss. The iteration step involves repeating the forward pass, loss calculation, backward pass, and parameter update steps for multiple epochs (iterations over the entire dataset) until the model converges to a satisfactory performance level. The evaluation step involves periodically evaluating the model on a validation set to monitor its performance and prevent overfitting. The fine-tuning step involves adjusting hyperparameters and model architecture based on evaluation results to improve performance. With respect to the deployment step, once the model is trained and performs well on the validation set, the model can be deployed to make predictions on new, unseen data. This iterative process helps the model learn to generalize from the training data to make accurate predictions on new inputs.

[0034] Deriving classes from a dataset involves several steps, typically starting with data collection and ending with the model's training and evaluation. The steps include data collection, labeling, preprocessing, feature extraction, splitting the dataset, model training, evaluation, fine-tuning and deployment. The data collection step involves gathering a dataset that includes examples of each class the model is to recognize. For instance, if an image classifier for animals is being built, images of cats, dogs, birds, etc. would be collected. In the user scenario classifier 110, repeatable steps are defined by automation scripts for different user scenarios, e.g., browsing, calling, video playing, etc. The labeling step involves annotating the data with the correct class labels. Each data point (e.g., an image, text, or audio clip) is tagged with the corresponding class. This step is crucial for supervised learning, where the model learns from labeled examples. The preprocessing step involves cleaning and preprocessing the data to ensure the data are in a suitable format for training. This step might include resizing images, normalizing pixel values, tokenizing text, or handling missing values. The feature extraction step involves extracting relevant features from the data that will help the model distinguish between classes. This step can be done manually or automatically using techniques like convolutional layers in CNNs for images or word embeddings for text. Splitting the dataset involves dividing the dataset into training, validation, and test sets. The training set is used to train the model, the validation set is used to tune hyperparameters, and the test set is used to evaluate the model's performance. The model training step involves training the neural network on the training data. During training, the model learns to map input features to the correct class labels by minimizing a loss function, which measures the difference between the predicted and actual labels. The evaluation step involves assessing the model's performance on the validation and test sets. Metrics like accuracy, precision, and recall are used to evaluate how well the model is classifying the data. The fine-tuning step involves adjusting the model's parameters and architecture based on the evaluation results to improve the model’s performance. This step might involve changing the number of layers, learning rate, or other hyperparameters. With respect to the deployment step, once the model performs well, the model can be deployed to make predictions on new, unseen data. The model will classify new inputs into one of the predefined classes based on what the model learned during training. Each class in the dataset is derived from the labeled examples provided during the data collection and labeling stages. The quality and diversity of the labeled data significantly impact the model's ability to accurately classify new inputs.

[0035] By providing the ability to classifying different user scenarios into different classes, the user scenario classifier 110 allows the computing system 100 to dynamically set various performance profile parameters for system optimization for subsequent user scenarios, based on the user scenario classifications. For example, based on user scenario classifications provided by the user scenario classifier 110, the computing system 100 can establish, adjust and ultimately optimize power tuning, thermal throttling, system level performance boost, and other key system level performance parameters for various user scenarios, e.g., to obtain the best system balance between performance and power consumption.

[0036] The computing system 100 also is able to establish, adjust and optimize application level parameters based on user scenario classifications provided by the user scenario classifier 110. For example, in a video calling application, the computing system 100 can set the proper values to various system nodes to keep the computing system 100 in a low power state while rendering a video stream in the foreground, based on user scenario classifications provided by the user scenario classifier 110.

[0037] The ability to establish, adjust and optimize system level and application level parameters based on user scenario classifications provides computing system performance improvement over conventional methods, which only provide a single, initial, static classification upon the initial application installation.

[0038] FIG. 5 is a flow diagram illustrating a method 500 for user scenario classification in a computing device, in accordance with exemplary embodiments. As indicated by block 502, user scenario system key performance indicator (KPI) parameters are collected. As discussed hereinabove, the data collector component within the user scenario classifier collects a plurality of system KPI parameters for a plurality of user scenarios.

[0039] As indicated by block 504, a dataset is constructed based on the collected system KPI parameters. As discussed hereinabove, the data collector component within the user scenario classifier constructs a dataset based on the collected system KPI parameters.

[0040] As indicated by block 506, user scenarios are classified based on the constructed dataset. As discussed hereinabove, the trained model classifier within the user scenario classifier classifies the various user scenarios into classes based on the constructed dataset.

[0041] As indicated by block 508, user scenario classification is provided for system optimization. As discussed hereinabove, once the user scenarios have been classified based on the constructed dataset, system level and application level parameters can be set and / or adjusted based on the user scenario classifications to optimize system performance.

[0042] FIG. 6 illustrates an example of a portable computing device (PCD) 600, in which exemplary embodiments of systems, methods, and other examples of the above-described user scenario classification may be provided. The PCD 600 may be, for example, a laptop or palmtop computer, cellular telephone or smartphone, personal digital assistant, navigation device, smartbook, portable game console, satellite telephone, automotive device, Internet-of-Things (IoT) device, etc.

[0043] The PCD 600 may include an SoC 602. The SoC 602 may include a CPU 604, a GPU 606, a digital signal processor (DSP) 607, an analog signal processor 608, a modem / modem subsystem 654, or other processors. The CPU 604 may include one or more CPU cores, such as a first CPU core 604A, a second CPU core 604B, etc., through an Nth CPU core 604N. The CPU 604 or cores 604A-604N may be examples of the CPU 106 described above with regard to FIG. 1. The GPU 606 and such other processors may be examples of other processors 108 (FIG. 1) .

[0044] A display controller 610 and a touch-screen controller 612 may be coupled to the CPU 604. A touchscreen display 614 external to the SoC 602 may be coupled to the display controller 610 and the touch-screen controller 612. The PCD 600 may further include a video decoder 616 coupled to the CPU 604. A video amplifier 618 may be coupled to the video decoder 616 and the touchscreen display 614. A video port 620 may be coupled to the video amplifier 618. A universal serial bus (USB) controller 622 may also be coupled to CPU 604, and a USB port 624 may be coupled to the USB controller 622. A subscriber identity module (SIM) card 626 may also be coupled to the CPU 604.

[0045] The CPU 604 may be coupled to one or more memories, with which the CPU 604 or other processors may initiate memory transactions. The one or more memories may include both volatile and non-volatile memories. Examples of volatile memories may include static random access memory (SRAM) 628 and dynamic random access memory (DRAM) 630 and 631. Such memories may be internal to the SoC 602, as in the case of the SRAM 628 and DRAM 630, or external to the SoC 602, as in the case of the DRAM 631. A DRAM controller 632 coupled to the CPU 604 may control the writing of data to, and reading of data from, the DRAMs 630 and 631.

[0046] A stereo audio CODEC 634 may be coupled to the analog signal processor 608. Further, an audio amplifier 636 may be coupled to the stereo audio CODEC 634. First and second stereo speakers 638 and 640, respectively, may be coupled to the audio amplifier 636. In addition, a microphone amplifier 642 may be coupled to the stereo audio CODEC 634, and a microphone 644 may be coupled to the microphone amplifier 642. A frequency modulation (FM) radio tuner 646 may be coupled to the stereo audio CODEC 634. An FM antenna 648 may be coupled to the FM radio tuner 646. Further, stereo headphones 650 may be coupled to the stereo audio CODEC 634. Other devices that may be coupled to the CPU 604 include one or more digital (e.g., CCD or CMOS) cameras 652.

[0047] The RF transceiver or modem subsystem 654 may be coupled to the analog signal processor 608 and the CPU 604. An RF switch 656 may be coupled to the modem subsystem 654 and an RF antenna 658. In addition, a keypad 660, a mono headset with a microphone 662, and a vibrator device 664 may be coupled to the analog signal processor 608.

[0048] The SoC 602 may have one or more internal or on-chip thermal sensors 670A and may be coupled to one or more external or off-chip thermal sensors 670B. An analog-to-digital converter controller 672 may convert voltage drops produced by the thermal sensors 670A and 670B to digital signals. A power supply 674 and a power management integrated circuit (PMIC) 676 may supply power to the SoC 602.

[0049] A user scenario classifier (USC) 680, which may be an example of the above-described user scenario classifier 110 (FIG. 1) or 110 (FIG. 2) , may be coupled to the CPU 604. Although for purposes of clarity in FIG. 6 only the CPU 604 is shown coupled to the user scenario classifier 680, each core 604A-604N may be coupled to the user scenario classifier 680. Further, although similarly not shown for purposes of clarity, other processors, such as the GPU 606, DSP 607, etc., or cores thereof, may be coupled to such a user scenario classifier.

[0050] Implementation examples are described in the following numbered clauses:

[0051] 1. A method for user scenario classification in a computing device, comprising:

[0052] collecting, by a data collector within a user scenario classifier, a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios;

[0053] classifying, by a trained model classifier within the user scenario classifier, the plurality of user scenarios into classes based on the collected user scenario system KPI parameters; and

[0054] providing, by the user scenario classifier, the user scenario classifications for system optimization of the computing device for future user scenarios.

[0055] 2. The method of clause 1, further comprising constructing, by the data collector, a dataset based on the collected user scenario system KPI parameters, and wherein classifying the plurality of user scenarios into classes further comprises classifying the plurality of user scenarios into classes based on the dataset.

[0056] 3. The method of clauses 1-2, wherein the collected user scenario system KPI parameters comprise an array of multi-dimensional system KPI parameter raw data.

[0057] 4. The method of clauses 1-3, wherein the collected user scenario system KPI parameters include at least one of the running time and usage ratio for at least one central processing unit (CPU) core in the computing device, the running time and usage ratio for at least one graphics processing unit (GPU) in the computing device, the running time and usage ratio for a double data rate (DDR) random-access memory device in the computing device, the usage of a battery in the computing device, a table of processes (top) usage in the computing device, a load program memory (lpm) rate in the computing device, a frames per second (fps) rate in the computing device, and a mean time between failures (mtbf) rate in the computing device.

[0058] 5. The method of clauses 1-4, wherein the trained model classifier includes at least one of a neural network model, an artificial intelligence (AI) neural network model and a multilayer perceptron backpropagation (MLB / BP) model.

[0059] 6. The method of clauses 1-5, wherein providing the user scenario classifications for system optimization of the computing device further comprises providing user scenario classifications for system optimization of at least one of power consumption in the computing device, thermal control in the computing device, performance tuning in the computing device and test coverage design of the computing device.

[0060] 7. The method of clauses 1-6, wherein system optimization of the computing device further comprises dynamically setting at least one of system level and application level profile parameters of the computing device for balancing system performance and power consumption of the computing device.

[0061] 8. A system for user scenario classification in a computing device, comprising:

[0062] a data collector configured to collect a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios and to construct a dataset based on the collected user scenario system KPI parameters; and

[0063] a trained model classifier configured to classify the plurality of user scenarios into classes based on the dataset,

[0064] wherein the user scenario classifications are provided for system optimization of the computing device for future user scenarios.

[0065] 9. The system of clause 8, wherein the user scenario system KPI parameters collected by the data collector comprise an array of multi-dimensional system KPI parameter raw data.

[0066] 10. The system of clauses 8-9, wherein the user scenario system KPI parameters collected by the data collector include at least one of the running time and usage ratio for at least one central processing unit (CPU) core in the computing device, the running time and usage ratio for at least one graphics processing unit (GPU) in the computing device, the running time and usage ratio for a double data rate (DDR) random-access memory device in the computing device, the usage of a battery in the computing device, a table of processes (top) usage in the computing device, a load program memory (lpm) rate in the computing device, a frames per second (fps) rate in the computing device, and a mean time between failures (mtbf) rate in the computing device.

[0067] 11. The system of clauses 8-10, wherein the trained model classifier includes at least one of a neural network model, an artificial intelligence (AI) neural network model and a multilayer perceptron backpropagation (MLB / BP) model.

[0068] 12. The system of clauses 8-11, wherein providing the user scenario classifications for system optimization of the computing device further comprises providing user scenario classifications for system optimization of at least one of power consumption in the computing device, thermal control in the computing device, performance tuning in the computing device and test coverage design of the computing device.

[0069] 13. The system of clauses 8-12, wherein system optimization of the computing device further comprises dynamically setting at least one of system level and application level profile parameters of the computing device for balancing system performance and power consumption of the computing device.

[0070] 14. The system of clauses 8-13, wherein the data collector is a standalone component within the system or a service running in the background of the computing device.

[0071] 15. A system-on-chip (SoC) , comprising:

[0072] at least one processor; and

[0073] a user scenario classifier coupled to the at least one processor, the user scenario classifier comprising

[0074] a data collector configured to collect a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios and to construct a dataset based on the collected user scenario system KPI parameters, and

[0075] a trained model classifier configured to classify the plurality of user scenarios into classes based on the dataset,

[0076] wherein the user scenario classifier provides user scenario classifications for system optimization of the computing device for future user scenarios.

[0077] 16. The SoC of clause 15, wherein the user scenario system KPI parameters collected by the data collector comprise an array of multi-dimensional system KPI parameter raw data.

[0078] 17. The SoC of clauses 15-16, wherein the user scenario system KPI parameters collected by the data collector include at least one of the running time and usage ratio for at least one central processing unit (CPU) core in the computing device, the running time and usage ratio for at least one graphics processing unit (GPU) in the computing device, the running time and usage ratio for a double data rate (DDR) random-access memory device in the computing device, the usage of a battery in the computing device, a table of processes (top) usage in the computing device, a load program memory (lpm) rate in the computing device, a frames per second (fps) rate in the computing device, and a mean time between failures (mtbf) rate in the computing device.

[0079] 18. The SoC of clauses 15-17, wherein the trained model classifier includes at least one of a neural network model, an artificial intelligence (AI) neural network model and a multilayer perceptron backpropagation (MLB / BP) model.

[0080] 19. The SoC of clauses 15-18, wherein the user scenario classifier provides user scenario classifications for system optimization of at least one of power consumption in the computing device, thermal control in the computing device, performance tuning in the computing device and test coverage design of the computing device.

[0081] 20. The SoC of clauses 15-19, wherein system optimization of the computing device further comprises dynamically setting at least one of system level and application level profile parameters of the computing device for balancing system performance and power consumption of the computing device.

[0082] Alternative embodiments will become apparent to one of ordinary skill in the art to which the invention pertains. Therefore, although selected aspects have been illustrated and described in detail, it will be understood that various substitutions and alterations may be made therein.

Claims

1.A method for user scenario classification in a computing device, comprising:collecting, by a data collector within a user scenario classifier, a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios;classifying, by a trained model classifier within the user scenario classifier, the plurality of user scenarios into classes based on the collected user scenario system KPI parameters; andproviding, by the user scenario classifier, the user scenario classifications for system optimization of the computing device for future user scenarios.2.The method of claim 1, further comprising constructing, by the data collector, a dataset based on the collected user scenario system KPI parameters, and wherein classifying the plurality of user scenarios into classes further comprises classifying the plurality of user scenarios into classes based on the dataset.3.The method of claim 1, wherein the collected user scenario system KPI parameters comprise an array of multi-dimensional system KPI parameter raw data.4.The method of claim 1, wherein the collected user scenario system KPI parameters include at least one of the running time and usage ratio for at least one central processing unit (CPU) core in the computing device, the running time and usage ratio for at least one graphics processing unit (GPU) in the computing device, the running time and usage ratio for a double data rate (DDR) random-access memory device in the computing device, the usage of a battery in the computing device, a table of processes (top) usage in the computing device, a load program memory (lpm) rate in the computing device, a frames per second (fps) rate in the computing device, and a mean time between failures (mtbf) rate in the computing device.5.The method of claim 1, wherein the trained model classifier includes at least one of a neural network model, an artificial intelligence (AI) neural network model and a multilayer perceptron backpropagation (MLB / BP) model.6.The method of claim 1, wherein providing the user scenario classifications for system optimization of the computing device further comprises providing user scenario classifications for system optimization of at least one of power consumption in the computing device, thermal control in the computing device, performance tuning in the computing device and test coverage design of the computing device.7.The method of claim 1, wherein system optimization of the computing device further comprises dynamically setting at least one of system level and application level profile parameters of the computing device for balancing system performance and power consumption of the computing device.8.A system for user scenario classification in a computing device, comprising:a data collector configured to collect a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios and to construct a dataset based on the collected user scenario system KPI parameters;a trained model classifier configured to classify the plurality of user scenarios into classes based on the dataset, andwherein the user scenario classifications are provided for system optimization of the computing device for future user scenarios.9.The system of claim 8, wherein the user scenario system KPI parameters collected by the data collector comprise an array of multi-dimensional system KPI parameter raw data.10.The system of claim 8, wherein the user scenario system KPI parameters collected by the data collector include at least one of the running time and usage ratio for at least one central processing unit (CPU) core in the computing device, the running time and usage ratio for at least one graphics processing unit (GPU) in the computing device, the running time and usage ratio for a double data rate (DDR) random-access memory device in the computing device, the usage of a battery in the computing device, a table of processes (top) usage in the computing device, a load program memory (lpm) rate in the computing device, a frames per second (fps) rate in the computing device, and a mean time between failures (mtbf) rate in the computing device.11.The system of claim 8, wherein the trained model classifier includes at least one of a neural network model, an artificial intelligence (AI) neural network model and a multilayer perceptron backpropagation (MLB / BP) model.12.The system of claim 8, wherein providing the user scenario classifications for system optimization of the computing device further comprises providing user scenario classifications for system optimization of at least one of power consumption in the computing device, thermal control in the computing device, performance tuning in the computing device and test coverage design of the computing device.13.The system of claim 8, wherein system optimization of the computing device further comprises dynamically setting at least one of system level and application level profile parameters of the computing device for balancing system performance and power consumption of the computing device.14.The system of claim 8, wherein the data collector is a standalone component within the system or a service running in the background of the computing device.15.A system-on-a-chip (SoC) , comprising:at least one processor;a user scenario classifier coupled to the at least one processor, the user scenario classifier comprisinga data collector configured to collect a plurality of user scenario system key performance indicator (KPI) parameters for a plurality of user scenarios and to construct a dataset based on the collected user scenario system KPI parameters,a trained model classifier configured to classify the plurality of user scenarios into classes based on the dataset, andwherein the user scenario classifier provides user scenario classifications for system optimization of the computing device for future user scenarios.16.The SoC of claim 15, wherein the user scenario system KPI parameters collected by the data collector comprise an array of multi-dimensional system KPI parameter raw data.17.The SoC of claim 15, wherein the user scenario system KPI parameters collected by the data collector include at least one of the running time and usage ratio for at least one central processing unit (CPU) core in the computing device, the running time and usage ratio for at least one graphics processing unit (GPU) in the computing device, the running time and usage ratio for a double data rate (DDR) random-access memory device in the computing device, the usage of a battery in the computing device, a table of processes (top) usage in the computing device, a load program memory (lpm) rate in the computing device, a frames per second (fps) rate in the computing device, and a mean time between failures (mtbf) rate in the computing device.18.The SoC of claim 15, wherein the trained model classifier includes at least one of a neural network model, an artificial intelligence (AI) neural network model and a multilayer perceptron backpropagation (MLB / BP) model.19.The SoC of claim 15, wherein the user scenario classifier provides the user scenario classifications for system optimization of at least one of power consumption in the computing device, thermal control in the computing device, performance tuning in the computing device and test coverage design of the computing device.20.The SoC of claim 15, wherein system optimization of the computing device further comprises dynamically setting at least one of system level and application level profile parameters of the computing device for balancing system performance and power consumption of the computing device.