A remote learning method, device and processor

By determining the protocol parameters and timing data of the infrared signal, and performing preprocessing and decoding, the problem of operational errors caused by signal errors in remote control learning is solved, and a fast and stable remote control learning process is achieved.

CN118397816BActive Publication Date: 2026-06-30SHENZHEN IPANEL TECH LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN IPANEL TECH LTD
Filing Date
2024-05-24
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In the current remote control learning process, errors occur due to the difference between the received signal of the new remote control and the transmitted signal of the original remote control, leading to operational errors or functional failures. In addition, multiple operations are required to learn the buttons of the complex remote control, causing inconvenience to users.

Method used

By determining the infrared protocol parameters and preliminary timing data of the infrared signal, preprocessing and decoding are performed. Clustering algorithms are used to divide the data into groups, filter key values, and determine the infrared protocol parameters and key-value correspondence of the target remote control based on the number of subgroups. The data is then directly configured on the learning remote control.

Benefits of technology

It improves signal stability and reliability, reduces the number of remote control learning operations, and enables rapid learning and convenient use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118397816B_ABST
    Figure CN118397816B_ABST
Patent Text Reader

Abstract

This application discloses a remote control learning method, apparatus, and processor. When the learning remote control receives an infrared signal from a target remote control, it determines the infrared protocol parameters and preliminary timing data of the infrared signal, which is the infrared signal of the button to be learned. The preliminary timing data is preprocessed to obtain target timing data, which is then decoded to obtain key values. Simultaneously, the infrared protocol parameters of the infrared signal are used to determine the grouping of the target timing data in a pre-stored remote control library. Based on the one-to-one correspondence between key values ​​and the buttons to be learned, the groups are filtered to obtain subgroups. Then, based on the number of remote controls in each subgroup, the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are determined. The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are then configured on the learning remote control. This application can avoid operational errors or functional failures due to errors, while reducing the number of remote control learning operations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of remote control technology, specifically to a remote control learning method, device, and processor. Background Technology

[0002] Remote learning refers to a function of a remote control that allows users to transfer the button codes of an existing remote control to another remote control via a learning function, saving it as a new code sequence. In subsequent use, the user can then use this new remote control to simulate the original remote control for corresponding operations and controls. Typically, remote control learning requires two remote controls: one to be learned and one with the learning function. During learning, the remote control with the learning function sends a signal, which the remote control to be learned receives, parses, and sends the corresponding button codes back to the remote control with the learning function. The remote control with the learning function saves the received codes and assigns a corresponding button to each code, thus achieving the learning of the original remote control.

[0003] Remote control learning is essentially a recording method that transfers the button encoding sequence of an existing remote control to a new one. During recording, the new remote control receives the signal from the original remote control via an infrared sensor and converts it into the corresponding button encoding sequence. Due to the instability of infrared sensors and potential interference during signal transmission, the signal received by the new remote control may differ from the signal transmitted by the original remote control, leading to malfunctions or errors in operation. Furthermore, during the learning process, the user needs to learn each button individually. This means the user may need to perform multiple operations to complete the learning process for all buttons. This is especially problematic for complex remote controls, which may require learning a large number of buttons, causing inconvenience and hassle for the user.

[0004] Therefore, how to avoid operational errors or functional failures caused by the error between the received signal of the new remote control and the transmitted signal of the original remote control, while reducing the number of remote control learning operations, is a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] To address the aforementioned issues, this application provides a remote control learning method, apparatus, and processor that can prevent operational errors or functional failures caused by the difference between the received signal of the new remote control and the transmitted signal of the original remote control, while also reducing the number of remote control learning operations.

[0006] The embodiments of this application disclose the following technical solutions:

[0007] A remote learning method, the method comprising:

[0008] In response to the learning remote control receiving a first infrared signal from the target remote control, the infrared protocol parameters of the first infrared signal are determined, and the first preliminary timing data of the first infrared signal is determined; the learning remote control has entered learning mode; when the learning remote control enters learning mode, it prompts the user to press the first button to be learned; the first infrared signal is the infrared signal of the first button to be learned; the first button to be learned is a pre-set button that meets the conflict requirement, wherein meeting the conflict requirement means that the number of key values ​​obtained by deduplicating the key values ​​of the same button in various remote controls meets the quantity requirement; the infrared protocol parameters include the infrared technology encoding method, the preamble, and the infrared technology encoding duration.

[0009] The first preliminary time series data is preprocessed to obtain the first target time series data;

[0010] The first target timing data is decoded according to the infrared protocol parameters of the first infrared signal to obtain the first key value, and the grouping of the first target timing data in the pre-stored remote control library is determined according to the infrared protocol parameters of the first infrared signal as the target group; the first key value has a one-to-one correspondence with the first learned button;

[0011] Based on the one-to-one correspondence between the first key value and the first learned button, the target group is filtered to obtain a first subgroup; the remote control in the first subgroup includes the first key value and the first learned button.

[0012] The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are determined based on the number of remote controls in the first subgroup, and the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are configured on the learning remote control.

[0013] In one possible implementation, the preprocessing of the first preliminary time series data to obtain the first target time series data includes:

[0014] The first preliminary time series data is divided into multiple groups of time series data using a clustering algorithm;

[0015] Calculate the rounded average value of the time series data for each group; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value.

[0016] Find the floating range corresponding to the rounded average value from the standard parameter library;

[0017] If the standard parameter library contains the floating range of the rounded average, the rounded average is aligned with the middle value of the floating range to obtain the target value; if the standard parameter library does not contain the floating range of the rounded average, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence.

[0018] Based on the one-to-one correspondence between the target value and the rounded average value, and the correspondence between the rounded average value and the data in the first preliminary time series data, the data in the first preliminary time series data are replaced one by one with the target value that has a corresponding relationship, to obtain the first target time series data.

[0019] In one possible implementation, determining the infrared protocol parameters of the target remote controller and all key-value correspondences based on the number of remote controllers in the first sub-group includes:

[0020] When the number of remote controllers in the first subgroup is equal to 1, the infrared protocol parameters of the remote controller and the correspondence between all buttons and key values ​​are obtained as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller.

[0021] When the number of remote controllers in the first subgroup is greater than 1, the buttons of the remote controllers in the first subgroup that meet the conflict requirements are selected as the second learned buttons. The infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​are determined based on the second learned buttons, and the correspondence between the second learned buttons and their key values ​​is recorded in the historical button list.

[0022] In one possible implementation, determining the infrared protocol parameters of the target remote control and all key-value correspondences based on the second learned key includes:

[0023] In response to the learning remote control receiving a second infrared signal from the target remote control, the infrared protocol parameters of the second infrared signal are determined, and the second preliminary timing data of the second infrared signal is determined; when the second button to be learned is selected, the user is prompted to press the second button to be learned; the second infrared signal is the infrared signal of the second button to be learned;

[0024] The second preliminary time series data is preprocessed to obtain the second target time series data;

[0025] The second target timing data is decoded according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key.

[0026] Based on the one-to-one correspondence between the second key value and the second learned button, the first subgroup is filtered to obtain the second subgroup; the remote controllers in the second subgroup all include the second key value and the second learned button.

[0027] When the number of remote controllers in the second subgroup is equal to 1, the infrared protocol parameters of the remote controller and the correspondence between all buttons and key values ​​are obtained as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller.

[0028] When the number of remote controllers in the second subgroup is greater than 1, continue to select new learnable buttons from the second subgroup and repeat the above steps until the number of remote controllers in the new subgroup is equal to 1; during the process of selecting new learnable buttons and repeating the above steps, if the number of remote controllers in a subgroup obtained by filtering new learnable buttons is equal to 0, then control the learning remote controller to enter the full-key learning mode.

[0029] In one possible implementation, when the number of remote controllers in a subgroup is equal to 0, the learning remote controller is controlled to enter full-key learning mode.

[0030] In one possible implementation, the full-key learning mode includes:

[0031] The user is prompted to press the unlearned button on the target remote control.

[0032] When the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, it determines the infrared protocol parameters of the infrared signal of the unlearned learning button and determines the third preliminary timing data of the infrared signal of the unlearned learning button.

[0033] The third preliminary time series data is preprocessed to obtain the third target time series data;

[0034] Based on the infrared protocol parameters of the infrared signal of the learned button, the key-key value correspondence of the third target timing data is searched in the pre-stored remote control library, the key-key value correspondence of the third target timing data is configured on the learning remote control, and the key-key value correspondence of the third target timing data is recorded in the historical button list.

[0035] Repeat the above steps until all the buttons on the target remote control are learned by the learning remote control, and then upload the historical button list to the cloud.

[0036] In one possible implementation, the construction process of the pre-stored remote control library includes:

[0037] Collect infrared data from multiple remote controls; the infrared data includes infrared signal data and infrared protocol parameters for all buttons on the remote controls;

[0038] The infrared signal data of each button on each remote control is determined to obtain multiple fourth preliminary timing data.

[0039] The preprocessing is performed on the fourth preliminary time series data to obtain the fourth target time series data;

[0040] Based on the infrared protocol parameters of each remote control and the timing data of each fourth target, the key values ​​of each button on each remote control are restored, and the key-key value correspondence is generated.

[0041] The pre-stored remote control is obtained by marking all the button-key value correspondences and their infrared protocol parameters on each remote control.

[0042] Pre-stored remote controllers with the same infrared protocol parameters are grouped into the same group, and all groups are combined into a pre-stored remote controller library.

[0043] In this context, the number of each group in the pre-stored remote control library is the number of pre-stored remote controls contained in that group; buttons that are present in all pre-stored remote controls are defined as key buttons, and the key buttons that meet the conflict requirements are selected as the first learned button.

[0044] In one possible implementation, the construction process of the standard parameter library includes:

[0045] Collect all infrared signals from common remote controls and extract the timing data of all infrared signals;

[0046] A fluctuation percentage is set for each time series data to obtain multiple fluctuation ranges; the fluctuation percentage is set according to the mean or standard deviation of the time series data of each infrared signal; the mean and the standard deviation are calculated by collecting all infrared signals of common remote controls and extracting their time series data;

[0047] All floating ranges are combined into a standard parameter library.

[0048] A remote-controlled learning device, the device comprising:

[0049] The first determining unit, in response to the learning remote controller receiving a first infrared signal from the target remote controller, determines the infrared protocol parameters of the first infrared signal and determines the first preliminary timing data of the first infrared signal; the learning remote controller has entered learning mode; when the learning remote controller enters learning mode, it prompts the user to press a first learnable button; the first infrared signal is the infrared signal of the first learnable button; the first learnable button is a pre-set button that meets the conflict requirements; the infrared protocol parameters include infrared technology encoding method, preamble, and infrared technology encoding duration.

[0050] The first preprocessing unit is used to preprocess the first preliminary time series data to obtain the first target time series data;

[0051] The first decoding unit is used to decode the first target timing data according to the infrared protocol parameters of the first infrared signal to obtain the first key value;

[0052] The second determining unit is used to determine the grouping of the first target timing data in the pre-stored remote control library as the target group based on the infrared protocol parameters of the first infrared signal; the first key value has a one-to-one correspondence with the first learned key.

[0053] A filtering unit is used to filter the target group based on the one-to-one correspondence between the first key value and the first learned button to obtain a first subgroup; the remote controllers in the first subgroup all include the first key value and the first learned button;

[0054] A configuration unit is defined to determine the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​based on the number of remote controllers in the first subgroup, and to configure the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​on the learning remote controller.

[0055] A processor for running a computer program that, when running, executes the remote learning method described above.

[0056] Compared with the prior art, this application has the following beneficial effects:

[0057] This application provides a remote control learning method, apparatus, and processor. Specifically, when executing the remote control learning method provided in this application, firstly, when the learning remote control, which has entered learning mode, receives a first infrared signal from the target remote control, the infrared protocol parameters and first preliminary timing data of the first infrared signal are determined. The first infrared signal is the infrared signal of a first learned button, which is a pre-set button that meets conflict requirements. Next, the first preliminary timing data is preprocessed to obtain first target timing data, and the first target timing data is decoded and grouped to obtain first key values ​​and target groups. Then, based on the one-to-one correspondence between the first key value and the first learned button, the target groups are filtered to obtain first subgroups. Then, based on the number of remote controls in the first subgroup, the infrared protocol parameters of the target remote control and all button-key value correspondences are determined, and the infrared protocol parameters of the target remote control and all button-key value correspondences are configured on the learning remote control. By preprocessing the first preliminary timing data after the learning remote control receives the first infrared signal from the target remote control, this application makes the received signal more stable and reliable. This avoids operational errors or functional malfunctions caused by discrepancies between the signals received by the new remote and those transmitted by the original remote. Furthermore, based on the infrared protocol parameters and key-value mappings of the target remote, these parameters and mappings can be directly configured on the learning remote, enabling rapid learning and convenient use without the need for individual button-by-button learning. Attached Figure Description

[0058] To more clearly illustrate the technical solutions in this embodiment or the prior art, the drawings used in the description of the embodiment or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0059] Figure 1 A schematic diagram illustrating an exemplary application scenario provided in this application embodiment;

[0060] Figure 2 A flowchart of a remote learning method provided in this application embodiment;

[0061] Figure 3 A flowchart illustrating a method for removing errors from infrared time-series data, provided in an embodiment of this application;

[0062] Figure 4 A flowchart illustrating a method for constructing a pre-stored remote control library, as provided in this application embodiment;

[0063] Figure 5A schematic diagram illustrating the key differentiation allocation provided in an embodiment of this application;

[0064] Figure 6 A schematic diagram illustrating the allocation of the product of key discrimination and weight, provided for an embodiment of this application;

[0065] Figure 7 This is a schematic diagram illustrating the number of remote controllers after key-value deduplication, provided in an embodiment of this application.

[0066] Figure 8 A schematic diagram illustrating the number of remote controllers after key-value deduplication, as provided in an embodiment of this application;

[0067] Figure 9 A schematic diagram illustrating the number of remote controllers after key-value deduplication, as provided in an embodiment of this application;

[0068] Figure 10 This is a schematic diagram of the structure of a remote learning device provided in an embodiment of this application. Detailed Implementation

[0069] To facilitate understanding of the technical solutions provided in the embodiments of this application, the background technology involved in the embodiments of this application will be described below.

[0070] Remote learning functionality is typically used in the following two scenarios:

[0071] Remote Control Replacement: When we lose or damage our original remote control, we can use a universal remote control with a learning function to replace it. In this process, we need to transfer the button codes of the original remote control to the universal remote control via the learning function and save it as a new code sequence. This way, in subsequent use, we can use the universal remote control to simulate the original remote control and perform corresponding operations and controls.

[0072] Remote Control Merging: When we need to control multiple devices simultaneously, we can use one remote control to replace multiple original remote controls, thus merging the remote controls. In this process, we need to use the set-top box remote control's learning function to learn the encoding sequence of the TV remote control and save it in the set-top box remote control. This way, in subsequent use, we can use the set-top box remote control to simultaneously control both the TV and the set-top box, making operation and control convenient and quick.

[0073] Regardless of the scenario, the button encoding sequence of the original remote control needs to be transmitted to the new remote control via recording. During recording, the new remote control receives the signal sent by the original remote control through an infrared sensor and converts it into the corresponding button encoding sequence. Due to the instability of infrared sensors and potential interference during signal transmission, the signal received by the new remote control may differ from the signal sent by the original remote control, leading to remote control malfunction or incorrect operation. Furthermore, during the learning process, the user needs to learn each button individually. This means the user needs to perform multiple operations to complete the learning process for all buttons. This is especially problematic for complex remote controls, which may require learning a large number of buttons, causing considerable inconvenience and hassle for the user.

[0074] To address this issue, this application provides a remote control learning method, apparatus, and processor. First, the infrared protocol parameters of the first infrared signal and the timing data of the first received infrared signal are determined. Then, the timing data is preprocessed to obtain target timing data, and the target timing data is decoded to obtain key values. Based on the infrared protocol parameters of the first infrared signal, the target timing data is grouped in a pre-stored remote control library. Next, based on the correspondence between key values ​​and the keys to be learned, the groups are filtered to obtain subgroups. The number of remote controls in each subgroup determines the parameters of the target remote control and the correspondence between all keys and key values. Finally, the infrared protocol parameters of the target remote control and the correspondence between all keys and key values ​​are directly configured on the learning remote control. This method improves signal stability and reliability while saving learning time and facilitating use.

[0075] To facilitate understanding of the attack behavior detection method provided in the embodiments of this application, the following is combined with... Figure 1 The example scenario is shown below. See also... Figure 1 This figure is a schematic diagram of an exemplary application scenario provided in an embodiment of this application. Figure 1 As shown, the learning remote control and the assistive prompting device are connected via Bluetooth.

[0076] Once the learning remote control enters learning mode, the auxiliary prompting device will guide the user to press the first learnable button on the target remote control. When the first learnable button on the target remote control is pressed, it emits an infrared signal, which the learning remote control can receive to perform remote control learning. A pre-defined operation can be performed, such as pressing and holding a specific button on the learning remote control, or pressing a combination of buttons, to activate the learning mode.

[0077] Once the remote control learning process is complete, the learned button-key value mappings will be uploaded to the cloud via the internet. Specifically, the button-key value mappings learned during the learning process will be recorded in a historical button list, which will then be uploaded to the cloud via the internet after the learning process is finished.

[0078] After the remote control learning process is complete, the learned remote control needs to be verified using the controlled device to confirm its accuracy. Specifically, once the learning is complete, the auxiliary prompting device will remind the user to verify the learning results, checking if the controlled device (such as a TV or set-top box) responds correctly to all buttons on the learned remote control. If all buttons respond correctly, the pre-stored remote control is considered identical to the target remote control, meaning the learning result is correct. If some buttons are unresponsive, it indicates the target remote control is not in the remote control library, meaning the learning result is incorrect and requires further full-key learning.

[0079] Those skilled in the art will understand that Figure 1 The schematic diagram shown is merely one example in which embodiments of this application can be implemented. The scope of application of the embodiments of this application is not limited by any aspect of this framework.

[0080] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0081] See Figure 2 The figure is a flowchart of a remote learning method provided in an embodiment of this application, as shown below. Figure 2 As shown, the remote control learning method may include steps S201-S205:

[0082] S201: In response to the learning remote controller receiving the first infrared signal from the target remote controller, determine the infrared protocol parameters of the first infrared signal and determine the first preliminary timing data of the first infrared signal.

[0083] The infrared signal from a remote control is actually a data format composed of digital or pulse signals, typically consisting of two parts: a preamble and data bits. Different protocol parameters use different encoding protocols, and different encoding protocols use different data formats and encoding methods to represent remote control operation commands. Therefore, when parsing an infrared signal, it is necessary to determine the infrared protocol parameters of the first infrared signal and perform corresponding decoding processing for the specific infrared protocol parameters.

[0084] Specifically, when receiving an infrared signal from a remote control with unknown infrared protocol parameters, the received infrared signal needs to be converted into a digital signal. Then, based on the characteristics and patterns of different infrared protocol parameters, the digital signal is decoded to obtain the specific operation commands sent by the remote control.

[0085] Infrared signals are transmitted as time-series data. Remote controls typically use infrared light to transmit signals, which are encoded into a series of digital or electrical signals for transmission. The time-series data of the infrared signal contains a wealth of information, primarily including infrared light intensity, time interval, start bit, stop bit, and the encoding of each button.

[0086] In addition, the parsed data bits need to be verified to ensure that the received signal is valid.

[0087] This process requires understanding the infrared protocol parameters used by the target remote control in order to correctly interpret the infrared signals and execute the corresponding operations. If the necessary information is lacking or the signal cannot be identified, it may be necessary to analyze and test more infrared signals to extract more useful information, thereby achieving the decoding of infrared signals with unknown infrared protocol parameters.

[0088] It's important to note that only the learning remote control in learning mode can receive infrared signals from the target remote control for learning. When the learning remote control enters learning mode, the auxiliary prompting device will prompt the user to press the first button to be learned to emit the first infrared signal. The first button to be learned is a pre-set button, and this button must meet conflict requirements. Meeting conflict requirements means that the number of duplicate key values ​​for the same button across different remote controls meets a certain quantity requirement. Meeting the quantity requirement means having the maximum number of duplicate key values ​​for the same button across all remote controls.

[0089] Due to the large number of remote controls, conflicts between two different remote controls using the same protocol parameters and the same keys are very serious. For example, consider two remote controls, A and B, both using the same protocol parameters and key codes to represent the "volume +" and "volume -" buttons, respectively. If a user simultaneously presses the "volume +" button on remote control A and the "volume -" button on remote control B, the receiving device may be unable to determine which remote control sent the signal, thus failing to execute the corresponding operation correctly. Therefore, it is necessary to select the button with the fewest conflicts from all the commonly used buttons in the pre-stored remote control library as the first button to be learned. A button that meets the conflict requirement is considered to have the fewest conflicts. Buttons present in all pre-stored remote controls are considered key buttons.

[0090] There are 22 common buttons: Power, Volume Up, Volume Down, Channel Up, Channel Down, Up, Down, Left, Right, Mute, Menu, OK, 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. However, not all remote controls have number keys, so we'll define 12 of them as key buttons: Power, Volume Up, Volume Down, Channel Up, Channel Down, Up, Down, Left, Right, Mute, Menu, and OK.

[0091] It should also be noted that the infrared protocol parameters include the preamble, the infrared encoding method, and the infrared encoding duration:

[0092] Preamble: A preamble is a special coded sequence used in infrared signal transmission to synchronize the timing between the transmitter and receiver. In infrared remote controls, a preamble typically uses a 2ms high level followed by a 1.5ms low level.

[0093] Infrared technology encoding method: The infrared technology encoding method refers to the encoding method of the signals sent by the infrared remote control.

[0094] Infrared technology encoding duration: Infrared technology encoding duration refers to the duration of each encoded sequence element in an infrared signal.

[0095] Regarding infrared technology encoding methods, there are generally two different methods: Pulse Width Encoding and Frequency Shift Keying.

[0096] Pulse Width Encoding: In pulse width encoding, bit 0 and bit 1 are represented by pulses of different lengths. For example, in the NEC protocol, bit 0 represents a 560-microsecond high-level pulse followed by a 1680-microsecond low-level pulse, while bit 1 represents a 560-microsecond high-level pulse followed by a 560-microsecond low-level pulse. Therefore, during decoding, digital signals can be decoded based on different pulse lengths.

[0097] Dual-frequency encoding (Frequency Shift Keying): In dual-frequency encoding, bit 0 and bit 1 are represented by signals of different frequencies. For example, in the Remote Control 5 (RC5) protocol, bit 0 represents the switch between square wave signals at 36 kHz and 19 kHz, while bit 1 represents the switch between square wave signals at 36 kHz and 22 kHz. Therefore, during decoding, digital signals can be decoded based on different frequency combinations.

[0098] Therefore, the specific method for determining the infrared protocol parameters of the first infrared signal is as follows: By analyzing a segment of the infrared signal and identifying the recurring encoding sequence that differs from other parts, the preamble can be determined. By observing the duration and frequency of high and low levels in the infrared signal, the encoding method used by the remote control can be roughly determined. For example, in pulse width encoding, the encoding sequence of each button consists of several high and low levels. By calculating the duration and frequency of each high and low level, the encoding method used by the remote control can be inferred. By observing the duration of each high and low level in the infrared signal, the duration of each encoding element can be calculated, and thus the duration of the entire encoding sequence can be determined. For example, in pulse width encoding, the duration of each encoding element is determined by the duration of the high and low levels. By adding the durations of all encoding elements, the duration of the entire encoding sequence can be obtained.

[0099] S202: Preprocess the first preliminary time series data to obtain the first target time series data.

[0100] When the learning remote controller receives the first infrared signal from the target remote controller, the actual received value will fluctuate and produce errors. This is because after obtaining the first preliminary timing data, the data needs to be preprocessed to reduce the errors.

[0101] See Figure 3 , Figure 3 This application provides a flowchart of a method for removing errors from infrared time-series data. Accordingly, the first preliminary time-series data is preprocessed to obtain the first target time-series data, which can be specifically achieved through steps A1-A5:

[0102] A1: The first preliminary time series data is divided into multiple groups of time series data using a clustering algorithm.

[0103] The raw, preliminary time-series data is clustered using methods such as similarity or distance metrics to obtain multiple groups of time-series data. These time-series data share similar characteristics and attributes, which can better describe the signal properties and facilitate further analysis and processing.

[0104] A2: Calculate the rounded average of the time series data for each group.

[0105] For each group of time series data, an average value is calculated. The average value has a one-to-one correspondence with the data in the first preliminary time series data used to calculate the average value. This correspondence will be used in subsequent processing.

[0106] Example 1, suppose the first preliminary time series data received is:

[0107] "4514, 4483, 576, 554, 576, 1673, 590, 1677, 576, 1673, 576, 554, 577, 554, 574, 576, 574, 575, 1673, 576, 1674, 591, 1680, 592, 558, 577, 554, 577, 555, 577" 555, 577, 554, 576, 554, 576, 554, 576, 554, 576, 554, 575, 552, 575, 1670, 589, 557, 576, 1674, 576, 1673, 590, 1677, 576, 1673, 590, 1677, 590, 1677, 591, 558, 577, 1676”.

[0108] They can be divided into three groups using a clustering algorithm.

[0109] The first group is:

[0110] 576, 554, 576, 590, 576, 576, 554, 577, 554, 576, 574, 576, 574, 575, 576, 591, 592, 558, 577, 554, 577, 555, 577, 555, 577, 574, 576, 574, 576, 574, 576, 575, 552, 575, 589, 557, 576, 576, 590, 576, 590, 590, 591, 558, 577.

[0111] The average value of the first set of data is 570.66, and the rounded average value is 570. This rounded average value corresponds to each data point in the first set.

[0112] The second group is:

[0113] 1673, 1677, 1673, 1673, 1674, 1680, 1670, 1674, 1673, 1677, 1673, 1677, 1677, 1677, 1676.

[0114] The average value of the second set of data is 1674.78, and the rounded average value is 1674. Similarly, this rounded average value corresponds to each data point in the second set.

[0115] The third group is:

[0116] 4514, 4483.

[0117] The average value of the third set of data is 4498.5, and the rounded average value is 4498. Similarly, this rounded average value corresponds to each data point in the third set.

[0118] A3: Find the floating range corresponding to the rounded average value from the standard parameter library.

[0119] Find the floating range corresponding to the rounded average value in the standard parameter library.

[0120] In one possible implementation, the construction process of the standard parameter library includes:

[0121] Collect all infrared signals from common remote controls and extract the timing data of all infrared signals. Then, set the fluctuation percentage for each timing data to obtain multiple fluctuation ranges. Finally, combine all fluctuation ranges into a standard parameter library.

[0122] Specifically, the construction process of a standard parameter library typically involves the following steps:

[0123] (1) Collect remote control signals: First, it is necessary to collect common infrared remote control signals and save them on the device. These signals can come from existing remote controls, open-source infrared remote control code libraries, or professional testing instruments, etc.

[0124] (2) Decoding the signal: The collected signal then needs to be decoded to obtain the timing data of each infrared signal in order to determine its infrared protocol parameters. This can be done by using tools such as an infrared signal decoder.

[0125] (3) Standard value determination: Once the infrared protocol parameters are determined, the standard value of the timing data can be determined.

[0126] (4) Constructing a floating range: Construct a standard floating range based on the standard value. This range usually consists of a middle value and a preset percentage of fluctuation (e.g., 10%).

[0127] (5) Store in library: Finally, store the standard floating range of each known infrared protocol parameter in the parameter library for later use. This library can be used during remote control learning to quickly match and decode received signals.

[0128] It should be noted that the fluctuation percentage is set based on the mean or standard deviation of the time-series data for each infrared signal. The mean and standard deviation are calculated by collecting all infrared signals from common remote controls and extracting their time-series data.

[0129] A41: If the standard parameter library contains the floating range of the rounded average, align the rounded average with the middle value of the floating range to obtain the target value.

[0130] If a range for the average value exists in the standard parameter library, the average value is aligned with the midpoint of the range to obtain the target value. There is a one-to-one correspondence between the target value and the rounded average value.

[0131] A42: If the floating range of the rounded average value does not exist in the standard parameter library, the rounded average value shall be used as the target value.

[0132] If the standard parameter library does not contain a range for the average value, the rounded average value will be used as the target value. There is a one-to-one correspondence between the target value and the rounded average value.

[0133] A5: Based on the one-to-one correspondence between the target value and the rounded average value, and the correspondence between the rounded average value and the data in the first preliminary time series data, the data in the first preliminary time series data are replaced one by one with the target value that has a corresponding relationship, to obtain the first target time series data.

[0134] By utilizing the correspondence between target values ​​and average values, the data in the first preliminary time series data are replaced with target values. This results in first target time series data that more accurately reflects the characteristics of infrared signals, enabling the remote control to better identify and learn these signals.

[0135] Example 2, using Example 1 as an example, assumes that the fluctuation range corresponding to the rounded average of 570 in Example 1 is 560±10%, then the rounded average of 570 is aligned with 560; the fluctuation range corresponding to the rounded average of 1674 is 1680±10%, then the rounded average of 1674 is aligned with 1680; the fluctuation range corresponding to the rounded average of 4498 is 5000±10%, then the rounded average of 4498 is aligned with 5000. Accordingly, the first target time series data after replacing the first preliminary time series data is:

[0136] 5000, 5000, 560, 560, 560, 168 ... 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1680, 560, 560, 560, 1680, 560, 1680, 560, 1680, 560, 1680, 560, 1680, 560, 1680, 560, 560, 1680.

[0137] In one possible implementation, the standard parameter library is stored on the server side.

[0138] S203: Decode the infrared protocol parameters of the first target timing data according to the infrared protocol parameters of the first infrared signal to obtain the first key value, and determine the group of the first target timing data in the pre-stored remote control library as the target group according to the infrared protocol parameters of the first infrared signal.

[0139] Since the infrared protocol parameters of the remote control signals differ, it is necessary to find the corresponding group as the target group in the pre-stored remote control library based on the infrared protocol parameters of the learned first infrared signal. For each remote control button, its corresponding infrared signal is independent in terms of infrared protocol parameters. Therefore, based on the infrared protocol parameters of the learned first infrared signal, the signal can also be decoded to obtain the corresponding key value, which is then used as the first key value. One key value corresponds to one button, thus there is a one-to-one correspondence between the first key value and the first learned button.

[0140] See Figure 4 , Figure 4 This application provides a flowchart of a method for constructing a pre-stored remote control library. Accordingly, the construction process of the pre-stored remote control library can be specifically implemented through B1-B6:

[0141] B1: Collects infrared data from multiple remote controls.

[0142] To build a pre-stored remote control library, it's first necessary to collect infrared data from multiple remote controls, including infrared signal data and infrared protocol parameters for all buttons. Specifically, this involves acquiring the infrared signal emitted by each button and recording the infrared protocol parameters used, encoding duration, and preamble. These parameters will play a crucial role in subsequent processing, such as decoding and recognizing infrared signals. Therefore, when collecting infrared data, it's essential to cover as many common remote control and button types as possible to obtain more comprehensive and accurate infrared signal data and protocol parameters.

[0143] It should be noted that the duration of infrared encoding is usually represented by "bit 0" and "bit 1". "Bit 0" and "bit 1" are two different pulse durations in the National Electronic Code (NEC) infrared encoding format. In NEC encoding, each binary digit is represented by two different pulse durations, usually referred to as "bit 0" and "bit 1".

[0144] Specifically, "bit 0" represents the pulse duration of logic "0", typically around 560 microseconds; while "bit 1" represents the pulse duration of logic "1", typically around 1690 microseconds. Different combinations of these pulse durations can represent different binary values, thereby enabling the recognition and control of buttons.

[0145] In the infrared protocol parameters, this information needs to be clearly defined and specified so that the program can correctly parse the infrared encoded sequence and convert it into the corresponding operation instructions.

[0146] B2: Determine the infrared signal data of each button on each remote control to obtain multiple fourth preliminary timing data.

[0147] These infrared signal data are typically recorded in time series format, that is, the time point and duration of infrared signal emission are recorded. By analyzing and processing this information, multiple preliminary fourth-order time series data, also known as "raw data sequences," can be obtained.

[0148] B3: Perform the aforementioned preprocessing on the fourth preliminary time series data to obtain the fourth target time series data.

[0149] After obtaining the fourth preliminary timing data of each remote controller, the fourth preliminary timing data also needs to be preprocessed. The preprocessing method is similar to that of the first preliminary timing data, and will not be described in detail here.

[0150] B4: Based on the infrared protocol parameters of each remote control and the timing data of each fourth target, restore the key values ​​of each button on each remote control and generate the key-key value correspondence.

[0151] The time-series data of each remote control needs to be decoded and analyzed to determine the specific command information represented by each button.

[0152] During the decoding process, it's necessary to consider that different remote controls may use different infrared protocol parameters. Therefore, when decoding time-series data, appropriate processing and judgment are required based on the different infrared protocol parameters. Typically, the decoding process includes the following steps:

[0153] (1) Identifying the preamble: By analyzing and comparing the leading part of the time series data, the preamble used by different remote controls can be identified. The preamble is the start marker of the remote control signal, used to identify the starting position of subsequent data.

[0154] (2) Decode binary data: According to the NEC infrared encoding format and other protocols, convert the time series data into binary values, and determine the specific size of each value according to the pulse duration of "bit 0" and "bit 1".

[0155] (3) Determine the key value: By analyzing and matching the decoded binary data, the specific command information corresponding to each key can be determined.

[0156] (4) Generate button-key value correspondence: Based on the button key value information obtained from decoding, a button-key value correspondence table can be generated for subsequent remote control learning and simulation operation.

[0157] Through these steps, valid information can be extracted from the time-series data of each remote control, the key values ​​of each button can be restored, and a button-key value correspondence can be generated.

[0158] B5: Mark all the key-value correspondences and their infrared protocol parameters on each remote control to obtain the pre-stored remote control.

[0159] For each remote control, information such as its infrared protocol parameters needs to be recorded, and a specific command code needs to be assigned to each button based on the parsed button-key value correspondence. These command codes are usually represented in numbers or hexadecimal and are used for identification and matching during subsequent simulation operations and learning processes.

[0160] The purpose of generating pre-stored remote controls is to provide the device with a basic remote control library, enabling the device to simulate and learn the operation of other remote controls. During subsequent learning and simulation processes, the device can identify and match instruction codes from the pre-stored remote control library, thereby achieving simulated control of other remote controls.

[0161] B6: Group pre-stored remote controllers with the same infrared protocol parameters into the same group, and combine all groups into a pre-stored remote controller library.

[0162] All pre-stored remote controls need to be categorized, grouping those with the same infrared protocol parameters into the same group. For each group in the pre-stored remote control library, a unique number needs to be generated for subsequent identification and matching. Typically, the number of pre-stored remote controls contained in the group can be used as the group number. For example, if a group contains 5 pre-stored remote controls, its number would be set to "5".

[0163] By categorizing and numbering all the pre-stored remote controls, a complete pre-stored remote control library can be obtained. During subsequent learning and simulation processes, the device can use this library to identify and simulate the operation of other remote controls.

[0164] In addition, all buttons present in the pre-stored remote controls need to be defined as key buttons, and the key buttons that meet the conflict requirements should be the first button to be learned.

[0165] Specifically, the process for determining the first button is as follows:

[0166] First, define the buttons present in all the pre-stored remote controls as key buttons. There are 22 common buttons: Power, Volume +, Volume -, Channel +, Channel -, Up, Down, Left, Right, Mute, Menu, OK, 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. However, not all remote controls have number keys, so select 12 of them: Power, Volume +, Volume -, Channel +, Channel -, Up, Down, Left, Right, Mute, Menu, and OK.

[0167] Then, the key that meets the conflict requirements among the key keys is selected as the first key to be learned.

[0168] Specifically, if a button has the lowest conflict rate across all its corresponding groups, it is directly selected as the first button to be learned. The button with the lowest conflict rate refers to the button with the lowest key value repetition rate among the buttons on different remote controls. This ensures that the learned remote control is compatible with most remote controls in the pre-stored remote control library, avoiding conflicts and improving the practicality and applicability of the remote control.

[0169] However, it's possible that the first button to be learned might be different in different groups. The first step in this case is to assign weights to each group based on the number of remote control libraries within each group. For example, in case there are three groups: the first group (protocol group 1) has 40 pre-stored remote controls, the second group (protocol group 2) has 30 pre-stored remote controls, and the third group (protocol group 3) has 30 pre-stored remote controls. Then, the weight of the first group is 0.4, the weight of the second group is 0.3, and the weight of the third group is also 0.3.

[0170] The second step is to divide the number of deduplicated remote controllers for each button within each group by the size of that group to obtain the discrimination index E. Example 4: Assume there are three key buttons: K1, K2, and K3. After deduplication in protocol group 1, K1 has 20 deduplicated remote controllers; after deduplication in protocol group 2, K1 has 3 deduplicated remote controllers; after deduplication in protocol group 3, K2 has 12 deduplicated remote controllers; after deduplication in protocol group 2, K2 has 24 deduplicated remote controllers; after deduplication in protocol group 3, K2 has 9 deduplicated remote controllers; after deduplication in protocol group 1, K3 has 4 deduplicated remote controllers; after deduplication in protocol group 2, K3 has 20 deduplicated remote controllers; after deduplication in protocol group 3, K3 has 27 deduplicated remote controllers. Accordingly, K1 has a discrimination index of 0.5 in protocol packet 1, 0.1 in protocol packet 2, and 0.1 in protocol packet 3; K2 has a discrimination index of 0.3 in protocol packet 1, 0.8 in protocol packet 2, and 0.3 in protocol packet 3; K3 has a discrimination index of 0.1 in protocol packet 1, 0.5 in protocol packet 2, and 0.9 in protocol packet 3. See also Figure 5 , Figure 5 This is a schematic diagram illustrating the key differentiation allocation provided in an embodiment of this application.

[0171] The third step is to multiply the E value of each different protocol group under each key press by the weight of the corresponding protocol group. Example 5 continues the explanation using Examples 3 and 4, multiplying the distinguishing power of K1, K2, and K3 in different protocol groups by the weight W of each protocol, to obtain... Figure 6 A schematic diagram illustrating the distribution of the product of button differentiation and weight. Figure 6In the protocol group 1, the product of discrimination and weight is 0.20; in protocol group 2, the product of discrimination and weight is 0.03; and in protocol group 3, the product of discrimination and weight is 0.03. In protocol group 1, the product of discrimination and weight is 0.11; in protocol group 2, the product of discrimination and weight is 0.24; and in protocol group 3, the product of discrimination and weight is 0.09. In protocol group 1, the product of discrimination and weight is 0.04; in protocol group 2, the product of discrimination and weight is 0.15; and in protocol group 3, the product of discrimination and weight is 0.27.

[0172] The fourth step is to sum the products of the discrimination score and weight for each key, and select the key with the largest sum as the first key to be learned. Example 6 continues the explanation using Example 5 as an example. The sum of the products of discrimination score and weight for K1 is 0.20 + 0.03 + 0.03 = 0.26, for K2 it is 0.11 + 0.24 + 0.09 = 0.44, and for K3 it is 0.04 + 0.15 + 0.27 = 0.46. Therefore, K3 is selected as the first key to be learned.

[0173] In one possible implementation, the pre-stored remote control library is stored on the server side.

[0174] S204: Filter the target group based on the one-to-one correspondence between the first key value and the first learned key to obtain the first sub-group.

[0175] Based on the one-to-one correspondence between the first key value and the first learned button, pre-stored remote controls in the target group that do not include this relationship are filtered out, leaving only the pre-stored remote controls that include this relationship, thus obtaining the first sub-group. The pre-stored remote controls in the first sub-group all include a first key value and a first learned button with a one-to-one correspondence.

[0176] S205: Determine the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​based on the number of remote controls in the first subgroup, and configure the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​on the learning remote control.

[0177] Based on the number of remote controllers in the first subgroup, the infrared protocol parameters of the target remote controller and the corresponding button-key value relationships can be determined. Specifically, if the first subgroup contains only one remote controller, the infrared protocol parameters and button-key value relationships used by that remote controller can be determined without needing to learn each button press individually. If the first subgroup contains multiple remote controllers, further processing and comparison are required to determine the final infrared protocol parameters and button-key value relationships.

[0178] In one possible implementation, determining the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​based on the number of remote controllers in the first sub-group can be achieved through the following steps:

[0179] When the number of remote controllers in the first subgroup is equal to 1, the infrared protocol parameters marked on the remote controller and the correspondence between all buttons and key values ​​are obtained from the pre-stored remote controller library as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller.

[0180] When the number of remote controllers in the first subgroup is greater than 1, the buttons of the remote controllers in the first subgroup that meet the conflict requirements are selected as the second learned buttons. The infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​are determined based on the second learned buttons, and the correspondence between the second learned buttons and their key values ​​is recorded in the historical button list.

[0181] In addition, when the number of remote controllers in the first subgroup is equal to 0, the control learning remote controller enters the full-key learning mode.

[0182] In one possible implementation, determining the infrared protocol parameters of the target remote control and all key-value correspondences based on the second learned key includes:

[0183] C1: In response to the learning remote control receiving the second infrared signal from the target remote control, determine the infrared protocol parameters of the second infrared signal, and determine the second preliminary timing data of the second infrared signal; when the second learned button is selected, prompt the user to press the second learned button; the second infrared signal is the infrared signal of the second learned button.

[0184] This step is similar to S201, and will not be repeated here.

[0185] C2: Perform the preprocessing on the second preliminary time series data to obtain the second target time series data.

[0186] This step is similar to the preprocessing steps described above, and will not be repeated here.

[0187] C3: The second target timing data is decoded according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key.

[0188] This step is similar to S203, and will not be repeated here.

[0189] C4: Based on the one-to-one correspondence between the second key value and the second learned button, the first subgroup is filtered to obtain the second subgroup; the remote controllers in the second subgroup all include the second key value and the second learned button.

[0190] This step is similar to S204, and will not be repeated here.

[0191] C5: When the number of remote controllers in the second subgroup is equal to 1, retrieve the infrared protocol parameters marked on the remote controller and the correspondence between all buttons and key values ​​from the pre-stored remote controller library as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller.

[0192] C6: When the number of remote controllers in the second subgroup is greater than 1, continue to select new learnable buttons from the second subgroup and repeat the steps of C1-C4 above until the number of remote controllers in the new subgroup is equal to 1.

[0193] During the execution of steps C1-C4 above, if the number of remote controllers in a subgroup obtained by filtering the new learned buttons is equal to 0, then the learning remote controller is controlled to enter the full-key learning mode.

[0194] Example 7: Assume the first subgroup contains 6 remote controls: Remote Control 1, Remote Control 2, Remote Control 3, Remote Control 4, Remote Control 5, and Remote Control 6. Their key keys are K1, K2, K3, K4, and K5. K1's key value in Remote Control 1, Remote Control 2, Remote Control 3, Remote Control 4, Remote Control 5, and Remote Control 6 is "14, 14, 4, 254". K2's key value in Remote Control 1, Remote Control 2, and Remote Control 3 is "14, 14, 4, 250". K2's key value in Remote Control 4, Remote Control 5, and Remote Control 6 is "14, 14, 6, 249". K3's key value in Remote Control 1 and Remote Control 2 is "14, 14, 6, 249". K3's key value in Remote Control 3 and Remote Control 4 is "14, 14, 7, 248". K3's key value in Remote Control 5 and Remote Control 6 is "14, 14, 8, 247". K4's key value in Remote Control 1 and Remote Control 6 is "14, 14, 8, 247". The key value in device 2 is "14, 14, 7, 248". The key value of K4 in remote controls 3 and 4 is "14, 14, 9, 246". The key value of K4 in remote controls 5 and 6 is "14, 14, 5, 250". The key value of K5 in remote controls 1, 3, and 5 is "14, 14, 18, 237". The key value of K5 in remote controls 2, 4, and 6 is "14, 14, 13, 242". Therefore, the number of deduplicated remote controls after deduplication is 1 for K1, 2 for K2, 3 for K3, 3 for K4, and 2 for K5. It is clear that K3 and K4 are the keys with the least conflict. Therefore, either K3 or K4 can be chosen as the second key to be learned. In this example, K3 is chosen as the second key to be learned. See also... Figure 7 , Figure 7 This is a schematic diagram illustrating the number of remote controllers after key-value deduplication, as provided in an embodiment of this application.

[0195] Then, the user is prompted to press the second learning button K3. When the learning remote control receives the second infrared signal from the target remote control, it determines the infrared protocol parameters of the second infrared signal, determines the second preliminary timing data of the second infrared signal, and preprocesses the second preliminary timing data to obtain the second target timing data. Based on the infrared protocol parameters of the second infrared signal, the second key value corresponding to the second target timing data is determined (assuming the target remote control is remote control 1, but the user does not know that the target remote control is remote control 1, then based on the second key value corresponding to the second infrared signal, it is "14, 14, 6, 249"). Based on the key value of the second learning button K3 (i.e., the second key value "14, 14, 6, 249"), the first sub-group is filtered to obtain the second sub-group. The second sub-group includes remote control 1 and remote control 2, meaning that the number of remote controls in the second sub-group is greater than one. See also... Figure 8 , Figure 8This is a schematic diagram illustrating the number of remote controllers after key-value deduplication, as provided in an embodiment of this application.

[0196] Repeating the above steps, we can determine that the next button with the least conflict is K5. Therefore, we can determine that the third button to be learned is K5. After filtering again, we can determine that the infrared protocol parameters of remote control 1 and the correspondence between all buttons and key values ​​are the infrared protocol parameters and the correspondence between all buttons and key values ​​of the target remote control. See also Figure 9 , Figure 9 This is a schematic diagram illustrating the number of remote controllers after key-value deduplication, as provided in an embodiment of this application.

[0197] Furthermore, when the number of remote controls in the second subgroup is 0, the learning remote control enters full-key learning mode. Similarly, when the number of remote controls in the third subgroup is 0, the learning remote control enters full-key learning mode.

[0198] In one possible implementation, the full-key learning modes include D1-D6:

[0199] D1: Prompts the user to press the unlearned button on the target remote control.

[0200] Once the learning remote control enters full-key learning mode, the user needs to be prompted to press the learning button on the target remote control that has not yet been learned.

[0201] D2: When the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, it determines the infrared protocol parameters of the infrared signal of the unlearned learning button, and parses the infrared signal of the unlearned learning button according to the infrared protocol parameters of the infrared signal of the unlearned learning button to obtain the third preliminary timing data.

[0202] The learning remote control will receive infrared signals from the corresponding buttons of the target remote control, preparing for the next step.

[0203] The steps of "determining the infrared protocol parameters of the infrared signal of the unlearned learning key, and parsing the infrared signal of the unlearned learning key to obtain the third preliminary timing data" are similar to steps S201, and will not be repeated here.

[0204] D3: Perform the preprocessing on the third preliminary time series data to obtain the third target time series data.

[0205] This step is similar to the preprocessing steps described above, and will not be repeated here.

[0206] D4: Based on the infrared protocol parameters of the infrared signal of the button being learned, search the key-value correspondence of the third target timing data from the pre-stored remote control library, configure the key-value correspondence of the third target timing data onto the learning remote control, and record the key-value correspondence of the third target timing data into the historical key list.

[0207] It is necessary to match the key-value correspondence from the pre-stored remote control library based on the protocol parameters of the collected infrared signal, so as to compare the signal of the key to be learned with a pre-stored remote control library and find the corresponding key value.

[0208] D5: Repeat the above steps until all the buttons on the target remote control are learned by the learning remote control, and upload the historical button list to the cloud.

[0209] The remote control learning system will repeatedly execute the above steps until all buttons on the target remote control have been learned. Afterward, the system will upload the historical button list to the cloud for future remote control learning.

[0210] In one possible implementation, the method further includes:

[0211] After the remote control learning process is complete, the user is prompted to verify it, checking if the controlled device (such as a TV or set-top box) used to respond to the target remote control's operations can correctly respond to all the buttons on the learned remote control. If all buttons respond normally, the pre-stored remote control is considered to be identical to the target remote control. If some buttons do not respond normally, it means the target remote control is not in the remote control library, and further full-key learning is needed to supplement the missing button information.

[0212] Specifically, after the remote control learning process is complete, the user needs to verify it to ensure the accuracy and completeness of the learning results. The specific steps are as follows:

[0213] First, remind users to verify the learning results of the learning remote control they have already learned.

[0214] Next, the user is asked to check whether the target device (such as a TV or set-top box) used to respond to the remote control operations of the target remote can respond normally to all the buttons on the learning remote.

[0215] Then, if all buttons respond normally, it means that the matched pre-stored remote control is exactly the same as the target remote control, and at this point the verification process can be ended and normal use can begin.

[0216] Finally, if some buttons are not responding properly, it means that the target remote control is not in the remote control library and further full-key learning is needed to supplement the missing button information.

[0217] During the full-key learning process, the program will prompt the user to press each button on the target remote control in sequence so that the learning remote control can accurately record the corresponding button-key value relationship.

[0218] After all buttons have been learned, verify the learning results again to ensure that all buttons respond correctly. If the verification passes, the remote control can be put into normal use; otherwise, the learning and verification process needs to be repeated until it passes.

[0219] Based on the content of S201-S205, in learning mode, the learning remote control receives the first infrared signal from the target remote control, determines its infrared protocol parameters, and parses it to obtain preliminary timing data. The first infrared signal corresponds to preset button signals that meet conflict requirements. Next, the preliminary timing data is preprocessed to obtain the target timing data, and its grouping and key values ​​in the pre-stored remote control library are determined. Then, based on the correspondence between key values ​​and buttons, the groups are filtered to obtain sub-groups. Based on the number of remote controls in the sub-groups, the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are determined. The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are directly configured on the learning remote control, achieving rapid learning and convenient use without the need for individual button learning. This method improves signal stability and reliability by preprocessing the preliminary timing data, avoiding operational errors or functional failures caused by signal errors.

[0220] See Figure 10 , Figure 10 This is a schematic diagram of the structure of a remote-controlled learning device provided in an embodiment of this application. Figure 10 As shown, the remote-controlled learning device includes:

[0221] The first determining unit 1001, in response to the learning remote controller receiving a first infrared signal from the target remote controller, determines the infrared protocol parameters of the first infrared signal and determines the first preliminary timing data of the first infrared signal; the learning remote controller has entered learning mode; when the learning remote controller enters learning mode, it prompts the user to press the first learned button; the first infrared signal is the infrared signal of the first learned button; the first learned button is a pre-set button that meets the conflict requirements; the infrared protocol parameters include infrared technology encoding method, preamble, and infrared technology encoding duration.

[0222] The first preprocessing unit 1002 is used to preprocess the first preliminary time series data to obtain the first target time series data;

[0223] The first decoding unit 1003 is used to decode the first target timing data according to the infrared protocol parameters of the first infrared signal to obtain the first key value;

[0224] The second determining unit 1004 is used to determine the grouping of the first target timing data in the pre-stored remote control library as the target group according to the infrared protocol parameters of the first infrared signal; the first key value has a one-to-one correspondence with the first learned key.

[0225] Filtering unit 1005 is used to filter the target group based on the one-to-one correspondence between the first key value and the first learned button to obtain a first subgroup; the remote controllers in the first subgroup all include the first key value and the first learned button;

[0226] The configuration unit 1006 is configured to determine the infrared protocol parameters and all key-value correspondences of the target remote controller based on the number of remote controllers in the first subgroup, and configure the infrared protocol parameters and all key-value correspondences of the target remote controller on the learning remote controller.

[0227] In one possible implementation, the device further includes:

[0228] Clustering unit, used to divide the first preliminary time series data into multiple groups of time series data using a clustering algorithm;

[0229] The calculation unit is used to calculate the rounded average value of each group of time series data; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value.

[0230] The floating range lookup unit is used to look up the floating range corresponding to the rounded average value from the standard parameter library;

[0231] The target value setting unit, if the floating range of the rounded average exists in the standard parameter library, is used to align the rounded average with the middle value of the floating range to obtain the target value; if the floating range of the rounded average does not exist in the standard parameter library, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence.

[0232] The replacement unit is used to replace the data in the first preliminary time series data one by one with the target value that has a corresponding relationship, based on the one-to-one correspondence between the target value and the rounded average value and the correspondence between the rounded average value and the data in the first preliminary time series data, to obtain the first target time series data.

[0233] In one possible implementation, the configuration determination unit 1006 specifically includes:

[0234] The second acquisition unit, when the number of remote controllers in the first subgroup is equal to 1, is used to acquire the infrared protocol parameters of the remote controller and the correspondence between all buttons and key values ​​as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller.

[0235] The selection unit, when the number of remote controllers in the first subgroup is greater than 1, is used to select the buttons of the remote controllers in the first subgroup that meet the conflict requirements as the second buttons to be learned.

[0236] The correspondence determination unit is used to determine the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​based on the second learned button.

[0237] The recording unit is used to record the correspondence between the second learned key and its key value into the historical key list.

[0238] In one possible implementation, the correspondence determination unit specifically includes:

[0239] The third determining unit is configured to, in response to the learning remote control receiving the second infrared signal from the target remote control, determine the infrared protocol parameters of the second infrared signal, determine the second preliminary timing data of the second infrared signal; and prompt the user to press the second learning button when the second learning button is selected; the second infrared signal is the infrared signal of the second learning button.

[0240] The second preprocessing unit is used to perform the preprocessing on the second preliminary time series data to obtain the second target time series data; the second key value has a one-to-one correspondence with the second learned key.

[0241] The second decoding unit is used to decode the second target timing data according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key.

[0242] The group filtering unit is used to filter the first subgroup based on the one-to-one correspondence between the second key value and the second learned button to obtain the second subgroup; the remote controllers in the second subgroup all include the second key value and the second learned button;

[0243] The third acquisition unit, when the number of remote controllers in the second subgroup is equal to 1, is used to acquire the infrared protocol parameters of the remote controller and the correspondence between all buttons and key values ​​as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller.

[0244] The first integrated unit, when the number of remote controllers in the second subgroup is greater than 1, is used to continue selecting new learnable buttons from the second subgroup and repeat the above steps until the number of remote controllers in the new subgroup is equal to 1; during the process of selecting new learnable buttons and repeating the above steps, if the number of remote controllers in a subgroup obtained by filtering new learnable buttons is equal to 0, then the learning remote controller is controlled to enter the full-key learning mode.

[0245] In one possible implementation, the device further includes:

[0246] The control unit is used to control the learning remote control to enter the full-key learning mode when the number of remote controls in the subgroup is equal to 0.

[0247] In one possible implementation, the device further includes:

[0248] A prompting unit is used to prompt the user to press a button on the target remote control that has not been learned.

[0249] The fourth determining unit, when the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, is used to determine the infrared protocol parameters of the infrared signal of the unlearned learning button and determine the third preliminary timing data of the infrared signal of the unlearned learning button.

[0250] The third preprocessing unit is used to perform the preprocessing on the third preliminary time series data to obtain the third target time series data.

[0251] The second integration unit is used to search for the key-value correspondence of the third target timing data from the pre-stored remote control library according to the infrared protocol parameters of the infrared signal of the learned key, configure the key-value correspondence of the third target timing data on the learning remote control, and record the key-value correspondence of the third target timing data in the historical key list.

[0252] The execution upload unit is used to repeat the above steps until all the buttons of the target remote control are learned by the learning remote control, and then upload the historical button list to the cloud.

[0253] In one possible implementation, the device further includes:

[0254] A collection unit is used to collect infrared data from multiple remote controls; the infrared data includes infrared signal data and infrared protocol parameters of all buttons on the remote controls;

[0255] The fifth determining unit is used to determine the infrared signal data of each button on each remote control and obtain multiple fourth preliminary timing data.

[0256] The fourth preprocessing unit is used to perform the preprocessing on the fourth preliminary time series data to obtain the fourth target time series data;

[0257] The reconstruction generation unit is used to reconstruct the key values ​​of each button on each remote control based on the infrared protocol parameters of each remote control and the timing data of each fourth target, and to generate the key-key value correspondence.

[0258] The annotation unit is used to annotate all the button-key value correspondences and their infrared protocol parameters on each remote control to obtain the pre-stored remote control;

[0259] A grouping unit is used to group pre-stored remote controllers with the same infrared protocol parameters into the same group, and combine all groups into a pre-stored remote controller library.

[0260] In this context, the number of each group in the pre-stored remote control library is the number of pre-stored remote controls contained in that group; buttons that are present in all pre-stored remote controls are defined as key buttons, and the key buttons that meet the conflict requirements are selected as the first learned button.

[0261] In one possible implementation, the device further includes:

[0262] The collection and extraction unit is used to collect all infrared signals from common remote controls and extract the timing data of all infrared signals;

[0263] The fluctuation percentage setting unit is used to set the fluctuation percentage for each time series data to obtain multiple fluctuation ranges; the fluctuation percentage is set according to the mean or standard deviation of the time series data of each infrared signal; the mean and the standard deviation are calculated by collecting all infrared signals of common remote controls and extracting their time series data;

[0264] A combination unit is used to combine all floating ranges into a single standard parameter library.

[0265] In addition, this application embodiment also provides a processor for running a computer program, which executes the remote learning method described above when running.

[0266] The foregoing has provided a detailed description of a remote learning method, apparatus, and processor provided in this application. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

[0267] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A remote learning method, characterized in that, The method includes: In response to the learning remote control receiving a first infrared signal from the target remote control, the infrared protocol parameters of the first infrared signal are determined, and the first preliminary timing data of the first infrared signal is determined; the learning remote control has entered learning mode; when the learning remote control enters learning mode, it prompts the user to press the first button to be learned; the first infrared signal is the infrared signal of the first button to be learned; the first button to be learned is a pre-set button that meets the conflict requirement, wherein meeting the conflict requirement means that the number of key values ​​obtained after deduplication of the key values ​​of the same button in various remote controls meets the quantity requirement; the infrared protocol parameters include the infrared technology encoding method, the preamble, and the infrared technology encoding duration. The first preliminary time series data is preprocessed to obtain the first target time series data; The first target timing data is decoded according to the infrared protocol parameters of the first infrared signal to obtain the first key value, and the grouping of the first target timing data in the pre-stored remote control library is determined according to the infrared protocol parameters of the first infrared signal as the target group; the first key value has a one-to-one correspondence with the first learned button; Based on the one-to-one correspondence between the first key value and the first learned button, the target group is filtered to obtain a first subgroup; the remote control in the first subgroup includes the first key value and the first learned button. The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are determined based on the number of remote controls in the first subgroup, and the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​are configured on the learning remote control. The preprocessing of the first preliminary time series data to obtain the first target time series data includes: The first preliminary time series data is divided into multiple groups of time series data using a clustering algorithm; Calculate the rounded average value of the time series data for each group; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value. Find the floating range corresponding to the rounded average value from the standard parameter library; If the standard parameter library contains the floating range of the rounded average, the rounded average is aligned with the middle value of the floating range to obtain the target value; if the standard parameter library does not contain the floating range of the rounded average, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence. Based on the one-to-one correspondence between the target value and the rounded average value, and the correspondence between the rounded average value and the data in the first preliminary time series data, the data in the first preliminary time series data are replaced one by one with the target value that has a corresponding relationship, to obtain the first target time series data.

2. The method according to claim 1, characterized in that, The step of determining the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​based on the number of remote controllers in the first subgroup includes: When the number of remote controllers in the first subgroup is equal to 1, the infrared protocol parameters of the remote controller and the correspondence between all buttons and key values ​​are obtained as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller. When the number of remote controllers in the first subgroup is greater than 1, the buttons of the remote controllers in the first subgroup that meet the conflict requirements are selected as the second learned buttons. The infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values ​​are determined based on the second learned buttons, and the correspondence between the second learned buttons and their key values ​​is recorded in the historical button list.

3. The method according to claim 2, characterized in that, The step of determining the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values ​​based on the second learned button includes: In response to the learning remote control receiving a second infrared signal from the target remote control, the infrared protocol parameters of the second infrared signal are determined, and the second preliminary timing data of the second infrared signal is determined; when the second button to be learned is selected, the user is prompted to press the second button to be learned; the second infrared signal is the infrared signal of the second button to be learned; The second preliminary time series data is preprocessed to obtain the second target time series data; The second target timing data is decoded according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key. Based on the one-to-one correspondence between the second key value and the second learned button, the first subgroup is filtered to obtain the second subgroup; the remote controllers in the second subgroup all include the second key value and the second learned button. When the number of remote controllers in the second subgroup is equal to 1, the infrared protocol parameters of the remote controller and the correspondence between all buttons and key values ​​are obtained as the infrared protocol parameters and correspondence between all buttons and key values ​​of the target remote controller. When the number of remote controllers in the second subgroup is greater than 1, continue to select new learnable buttons from the second subgroup and repeat the above steps until the number of remote controllers in the new subgroup is equal to 1; during the process of selecting new learnable buttons and repeating the above steps, if the number of remote controllers in a subgroup obtained by filtering new learnable buttons is equal to 0, then control the learning remote controller to enter the full-key learning mode.

4. The method according to claim 2 or 3, characterized in that, When the number of remote controllers in a subgroup is 0, the learning remote controller is controlled to enter the full-key learning mode.

5. The method according to any one of claims 3 or 4, characterized in that, The full-key learning mode includes: The user is prompted to press the unlearned button on the target remote control. When the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, it determines the infrared protocol parameters of the infrared signal of the unlearned learning button and determines the third preliminary timing data of the infrared signal of the unlearned learning button. The third preliminary time series data is preprocessed to obtain the third target time series data; Based on the infrared protocol parameters of the infrared signal of the learned button, the key-key value correspondence of the third target timing data is searched in the pre-stored remote control library, the key-key value correspondence of the third target timing data is configured on the learning remote control, and the key-key value correspondence of the third target timing data is recorded in the historical button list. Repeat the above steps until all the buttons on the target remote control are learned by the learning remote control, and then upload the historical button list to the cloud.

6. The method according to claim 1, characterized in that, The process of constructing the pre-stored remote control library includes: Collect infrared data from multiple remote controls; the infrared data includes infrared signal data and infrared protocol parameters for all buttons on the remote controls; The infrared signal data of each button on each remote control is determined to obtain multiple fourth preliminary timing data. The preprocessing is performed on the fourth preliminary time series data to obtain the fourth target time series data; Based on the infrared protocol parameters of each remote control and the timing data of each fourth target, the key values ​​of each button on each remote control are restored, and the key-key value correspondence is generated. The pre-stored remote control is obtained by marking all the button-key value correspondences and their infrared protocol parameters on each remote control. Pre-stored remote controllers with the same infrared protocol parameters are grouped into the same group, and all groups are combined into a pre-stored remote controller library. In this context, the number of each group in the pre-stored remote control library is the number of pre-stored remote controls contained in that group; buttons that are present in all pre-stored remote controls are defined as key buttons, and the key buttons that meet the conflict requirements are selected as the first learned button.

7. The method according to claim 1, characterized in that, The construction process of the standard parameter library includes: Collect all infrared signals from common remote controls and extract the timing data of all infrared signals; A fluctuation percentage is set for each time series data to obtain multiple fluctuation ranges; the fluctuation percentage is set according to the mean or standard deviation of the time series data of each infrared signal; the mean and the standard deviation are calculated by collecting all infrared signals of common remote controls and extracting their time series data; All floating ranges are combined into a standard parameter library.

8. A remote-controlled learning device, characterized in that, The device includes: The first determining unit, in response to the learning remote controller receiving a first infrared signal from the target remote controller, determines the infrared protocol parameters of the first infrared signal and determines the first preliminary timing data of the first infrared signal; the learning remote controller has entered learning mode; when the learning remote controller enters learning mode, it prompts the user to press a first learnable button; the first infrared signal is the infrared signal of the first learnable button; the first learnable button is a pre-set button that meets the conflict requirements; the infrared protocol parameters include infrared technology encoding method, preamble, and infrared technology encoding duration. The first preprocessing unit is used to preprocess the first preliminary time series data to obtain the first target time series data; The first decoding unit is used to decode the first target timing data according to the infrared protocol parameters of the first infrared signal to obtain the first key value; The second determining unit is used to determine the grouping of the first target timing data in the pre-stored remote control library as the target group based on the infrared protocol parameters of the first infrared signal; the first key value has a one-to-one correspondence with the first learned key. A filtering unit is used to filter the target group based on the one-to-one correspondence between the first key value and the first learned button to obtain a first subgroup; the remote controllers in the first subgroup all include the first key value and the first learned button; The configuration unit is configured to determine the infrared protocol parameters and all key-value correspondences of the target remote controller based on the number of remote controllers in the first subgroup, and configure the infrared protocol parameters and all key-value correspondences of the target remote controller on the learning remote controller. The device further includes: Clustering unit, used to divide the first preliminary time series data into multiple groups of time series data using a clustering algorithm; The calculation unit is used to calculate the rounded average value of each group of time series data; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value. The floating range lookup unit is used to look up the floating range corresponding to the rounded average value from the standard parameter library; The target value setting unit, if the floating range of the rounded average exists in the standard parameter library, is used to align the rounded average with the middle value of the floating range to obtain the target value; if the floating range of the rounded average does not exist in the standard parameter library, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence. The replacement unit is used to replace the data in the first preliminary time series data one by one with the target value that has a corresponding relationship, based on the one-to-one correspondence between the target value and the rounded average value and the correspondence between the rounded average value and the data in the first preliminary time series data, to obtain the first target time series data.

9. A processor, characterized in that, Used to run a computer program, which, when running, executes the remote learning method as described in any one of claims 1-7.